data[i]);getchar();L->last++;if(L->last==10){pri" />
文档库 最新最全的文档下载
当前位置:文档库 › 数据结构—线性表

数据结构—线性表

#include"stdio.h"

typedef struct
{

int data[10];
int last;

}SeqList;

void Input_List(SeqList *L)
{
int i;
char c;
for(i=0;i<10;i++)
{
printf("请输入第 %d个数据:",i+1);
scanf("%d",&L->data[i]);
getchar();
L->last++;
if(L->last==10)
{
printf("该表格已经装满. ");
getch();
break;
}
else
{
printf("需继续输入?n----->");
scanf("%c",&c);
if(c=='n') break;
}

}
}



void Output_List(SeqList *L)
{

int i;
for(i=0;ilast;i++)
printf("\n第 %d 个数据是 :%d",i+1,L->data[i]);

}



void menu()
{
printf("\n\n\t\t\t\t\t菜单\n");
printf("\n\t\t\t\t1.请输入原始数据.\n");
printf("\n\t\t\t\t2.输出现有数据.\n");
printf("\n\t\t\t\t3.插入数据.\n");
printf("\n\t\t\t\t4.删除数据.\n");
printf("\n\t\t\t\t5.查找数据.\n");
printf("\n\t\t\t\t6.退出.");
printf("\n\n\t\t\t\t 请输入您要操作的选项:");
getch();


}

void Insert_List(SeqList *L)
{
int j;
int i;
int x;
printf("请输入需插入的位置:");
scanf("%d",&i);
printf("请输入需要插入的数据:");
scanf("%d",&x);
if(L->last==10)
{ printf("表已经满,不能实现插入操作。");
return ;
}
if(i<1||i>L->last+1)
{
printf("插入的位置错误。");
return ;
}
for(j=L->last;j>=i;j--)
L->data[j]=L->data[j-1];
L->data[i-1]=x;
L->last++;
printf("插入成功。");
}
void Delete_List(SeqList *L)
{
int j;
int i;
printf("请输入需删除的位置:");
scanf("%d",&i);
if(L->last==0)
{ printf("表空,不能实现删除操作。");
return ;
}
if(i<1||i>L->last+1)
{
printf("删除的位置错误。");
return ;
}
for(j=i;jlast;j++)
L->data[j-1]=L->data[j];
L->last--;
printf("删除成功。");



}

void Location_List(SeqList *L)
{
int x;
int i;
int j=0;
printf("请输入您要查找的数据:");
scanf("%d",&x);
for(i=0;ilast;i++)
{
if(L->data[i]==x)
{
printf("\n查找成功,%d是第%d个数据\n",x,i+1);
j++;
}
}
if(j==0)
printf("查找失败,无此

数据!");



}

main()
{
SeqList *L;
int i;
char c;
L=(SeqList *)malloc(sizeof(SeqList));
L->last=0;

while(1)
{
menu();
scanf("%d",&i);
switch(i)
{
case 1:Input_List(L);break;
case 2:Output_List(L) ;break;
case 3:Insert_List(L) ;break;
case 4:Delete_List(L);break;
case 5:Location_List(L);break;
case 6:exit();break;
default:printf("input is wrong :");break;
}
printf("\n是否继续菜单(n/y):");
c=getchar();
getchar();
if(c=='n')break;

}





getch();

}

相关文档
相关文档 最新文档