선형 표 의 순서 표 생 성, 초기 화, 찾기, 삭제, 삽입 과 통합
#include<iostream>
#include<cstdio>
using namespace std;
#define MAXSIZE 100
#define ERROR 0
#define OK 1
typedef int ElemType;
typedef struct
{
ElemType *elem;
int last;
}SqList;
int Locate(SqList *L, ElemType e)
{
int i=0; /*i , 0, */
while ((i<=L->last)&&(L->elem[i]!=e))/* , e , */
i++;
if (i<=L->last)
return(i+1); /* e , */
else
return(-1); /* , */
}
/* L i e。 n=L->last+1,
i 1≤i≤L->last+2 */
int InsList(SqList *L,int i,ElemType e)
{
int k;
if((i<1) || (i>L->last+2)) /* */
{
printf(" i ");
return(ERROR);
}
if(L->last>= MAXSIZE-1)
{
printf(" ");
return(ERROR);
}
for(k=L->last;k>=i-1;k--) /* */
L->elem[k+1]=L->elem[k];
L->elem[i-1]=e; /* C , i i-1*/
L->last++;
return(OK);
}
int DelList(SqList *L,int i)
/* L i 。i 1≤i≤L.last+1 */
{
int k;
if((i<1)||(i>L->last+1))
{
printf(" !");
return(ERROR);
}
for(k=i; k<=L->last; k++)
L->elem[k-1] = L->elem[k]; /* */
L->last--;
return(OK);
}
void print(SqList *L)
{
int i;
for(i=0;i<=L->last;i++)
cout<<L->elem[i]<<" ";
cout<<endl;
}
void Init(SqList *L)
{
L->elem=new ElemType[MAXSIZE];
if(! L->elem) {
exit(0);
}
int n,i=0;
cout<<" "<<endl;
cin>>n;
while(i<n)
{
cin>>L->elem[i++];
}
L->last=i-1;
}
void merge(SqList *LA, SqList *LB, SqList *LC)
{
int i,j,k;
i=0;j=0;k=0;
while(i<=LA->last&&j<=LB->last)
if(LA->elem[i]<=LB->elem[j])
{
LC->elem[k]= LA->elem[i];
i++;
k++;
}
else
{
LC->elem[k]=LB->elem[j];
j++;
k++;
}
while(i<=LA->last) /* LA , LA LC*/
{
LC->elem[k]= LA->elem[i];
i++;
k++;
}
while(j<=LB->last) /* LB , LB LC*/
{
LC->elem[k]= LB->elem[j];
j++;
k++;
}
LC->last=LA->last+LB->last+1;
print(LC);
}
int main()
{
SqList L,L1,L2;
ElemType e;
int i,t;
cout<<" :(1. 2. 3. 4. )"<<endl;
Init(&L);
print(&L);
/* cout<<" "<<endl;
cin>>e;
t=Locate(&L,e);
if(t)
cout<<" "<<t<<" !"<<endl;
else
cout<<" !"<<endl;
cout<<" "<<endl;
cin>>e>>i;
t=InsList(&L,i,e);
if(t)
{
cout<<" "<<endl;
print(&L);
}
else
cout<<" !"<<endl;*/
cout<<" "<<endl;
cin>>i;
t=DelList(&L,i);
if(t)
{
cout<<" "<<endl;
print(&L);
}
else
cout<<" !"<<endl;
cout<<" L1、L2 :"<<endl;
Init(&L1);
Init(&L2);
cout<<"L1,L2,L :"<<endl;
merge(&L1,&L2,&L);
return 0;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.