typedef int DataType;
typedef struct{
DataType data[MIXSIZE];
int length;
}SeqList;
SeqList L;
void InitList(SeqList *L)
{
L->length=0;
}
int ListInsert(SeqList *&L,int i,DataType e)
{
int j;
if(iL->length+1)
return 0;
i--;
for (j=L->length;j>i;j--)
L->data[j]=L->data[j-1];
L->data[j]=e;
L->length++;
return 1;
}
int ListDelete(SeqList *L,int i,DataType e)
{
int j;
if(iL->length)
return 0;
i--;
e=L->data;
for(j=i;jlength-1;j++)
L->data[j]=L->data[j+1];
L->length--;
return 1;
}
int GetNode(SeqList *L,DataType e)
{
int i;
for(i=0;ilength;i++);
if(e==L->data)
printf("该元素的位置为%d ",i+1);
}
void ListOn(SeqList *L)
{
int i;
if(L->lengthlength;i++)
printf("%d ",L->data);
printf("\n");
}
void DestroyList(SeqList *&L)
{
free(L);
}
void func_1(void) //实现功能模块1的函数
{
char ch; /*菜单选择字符*/
DataType e;
int i;
SeqList *L;
do/*循环,直至键入'0'*/
{
clrscr();//清屏函数
cout>ch;
switch(ch)
{
case '1':
clrscr();//清屏函数
InitList(L);
cout<<"完成子功能1"<<endl;
break;
case '2':
clrscr();//清屏函数
DestroyList(L);
break;
case '3':
clrscr();//清屏函数
cout<<"输入插入位置和数值"<<endl;
scanf("%d%d",&i,&e);
ListInsert(L,e,i);
break;
case '4':
clrscr();//清屏函数
cout<<"输入要删除数据的位置和数据"<<endl;
scanf("%d%d",i,e);
ListDelete(L,i,e);
break;
case '5':
clrscr();//清屏函数
ListOn(L);
break;
case '6':
clrscr();//清屏函数
cout<<"输入要查找元素的数值"<<endl;
scanf("%d",e);
GetNode(L,e);
break;
}
}while(ch!='0');
}
|