在数据结构课已经学过顺序表
可有
/*顺序表的定义:*/
#define ListSize 100 /*表空间大小可根据实际需要而定,这里假设为100*/
typedef int DataType; /*DataType可以是任何相应的数据类型如int, float或char*/
typedef struct
{ DataType data[ListSize]; /*向量data用于存放表结点*/
int length; /*当前的表长度*/
}SeqList;
/*函数的声明*/
void CreateList(SeqList * L,int n); /*创建顺序表函数*/
int LocateList(SeqList L,DataType x); /*查找顺序表*/
void InsertList(SeqList * L,DataType x,int i); /*在顺序表中插入结点x*/
void DeleteList(SeqList * L,int i);/*在顺序表中删除第i个结点*/
void PrintList(SeqList L,int n); /*打印顺序表中前n个结点*/
定义出来 为了在这段代码上进行修改来实现
具体实现要求:
从键盘输入10个整数,产生顺序表,并输入结点值。从键盘输入1个整数,在顺序表中查找该结点的位置。若找到,输出结点的位置;若找不到,则显示“找不到”。从键盘输入2个整数,一个表示欲插入的位置i,另一个表示欲插入的数值x,将x插入在对应位置上,输出顺序表所有结点值,观察输出结果。从键盘输入1个整数,表示欲删除结点的位置,输出顺序表所有结点值,观察输出结果。
对以上代码进行补充
#include<stdio.h>
#define MaxSize 100
typedef int Datatype;
typedef struct
{
Datatype data[MaxSize];
int length;
}seqlist;
void GreatList(seqlist*L,int n);
int GetList(seqlist L, Datatype x);
int IntList(seqlist *L,Datatype x,int i);
int DelList(seqlist L,int i,Datatype *x);
void PrintList(seqlist L,int n);
void main()
{
seqlist L;
int n=10,x,i;
L.length=0;
printf("great function:\n");
GreatList(&L,n);
PrintList(L,n);
printf("get function:\n");
printf("please input your want to search\n");
scanf("%d",&x);
i=GetList(L,x);
if(i==0)
{
printf("\nsorry,don't find %d\n",x);
}
else
{
printf("\nhave find the %d,it located in %d\n",x,i);
}
printf("\nIns function:\n");
printf("\nplease input the position: \n");
scanf("%d",&i);
printf("\nplease input the data:\n");
scanf("%d",&x);
IntList(&L,i,x);
PrintList(L,n);
printf("\ndel function:\n");
printf("\nplease input you want to delete position:\n");
scanf("%d",&i);
printf("\nplease input you want delete number: ");
scanf("%d",&x);
DelList(L,i,&x);
PrintList(L,n);
//getch();
}
void GreatList(seqlist *L,int n)
{
int i;
for(i=0;i<n;i++)
{
printf("\nplease input the %d data \n",i+1);
scanf("%d",&(*L).data[i]);
}