.用顺序表实现数据元素是整数的线性表,使其具有如下功能:(1)初始化一个空表
(2)根据指定个数,逐个输入整数;
(3)根据给定的整数值进行查找,查找成功,返回此整数的在表中的位置,查找不成功,则输出查找失败;
(4)根据指定的位置可返回相应的整数;
(5)给定一个整数,插入到表中指定的位置;
(6)删除指定位置的整数;
(7)统计表中整数个数即求表长。
(8)逐个显示整数表中所有的整数;
下面展示一些 内联代码片。
#define MAXSIZE 1000 //整数表可能达到的最大长度 #define OK 1 #define ERROR 0 #define OVERFLOW -1 typedef int Status; typedef int ElemType; #include#include using namespace std; #include #include typedef struct { ElemType *elem; //指向数据元素的基地址 int length; //线性表的当前长度即当前整数的个数 }SqList; Status InitList(SqList &L) //构造一个空的顺序表L { L.elem=new ElemType [MAXSIZE]; //为顺序表分配空间 if(!L.elem) exit(OVERFLOW); //存储分配失败 L.length=0;//空表长度为0 printf("初始化空表成功!n"); return OK; } Status CreatList(SqList &L) //根据整数的个数,输入相应的整数值 { int n;//要构造的整数表的长度 int i;//循环变量 printf("输入要创建的整数个数n"); scanf("%d",&n); //从键盘上输入n的值 printf("依次输入整数的值n"); for(i=0;i L.length+1) //i值不合法 { printf("i值不合法n"); return ERROR; } if(L.length==MAXSIZE) //当前存储空间已满 { printf("存储空间已满!n"); return ERROR; } for(j=L.length-1;j>=i-1;j--) L.elem[j+1]=L.elem[j]; //插入位置及之后的元素后移 L.elem[i-1]=e; //将新元素e放入第i个位置 ++L.length; //表长增1 return OK; } Status ListDelete(SqList &L,int i) //将顺序表L中第i个数据元素删除 { int j; if((i<1)||(i>L.length)) return ERROR; //i值不合法 for (j=i;j<=L.length-1;j++) L.elem[j-1]=L.elem[j]; //被删除元素之后的元素前移 --L.length; //表长减1 return OK; } int GetLength(SqList L) { return (L.length); } void Print_Sq(SqList L) //输出顺序表 { int i; printf("该顺序表中各整数为n"); for(i=0;i 这个只是参考哈,和题目不完全一样,可以参照我的单链表改,在我博客里面哈!



