如何用数组建立线性表主程序,在其中实现元素的插入,删除和查找操作这是老师给我们的作业,我现在学的是数据结构,线性表内容

热心网友

#include //实现顺序表的基本操作using namespace std;#define MaxLen 50 //顺序表中最多的元素的个数typedef int elemtype;typedef elemtype sqlist[MaxLen]; int create(sqlist A) //创建顺序表(返回顺序表的元素个数){int i, n;cout n;for (i = 0; i A[i];}return n;}void disp(sqlist A, int n) //输出一个顺序表{int i;cout n)cout = i; j--)A[j+1] = A[j]; //后移A[i] = x; n++; //顺序表长度增1}return n;}int del(sqlist A, int n, int i) //删除第i个元素(从0数起){int j;if (i n - 1)cout << "i值上溢或下溢" << endl;else{for (j = i; j < n - 1; j++)A[j] = A[j+1]; //前移覆盖n--;}return n;}int find(sqlist A, int n, elemtype x) //查找x{int i = 0;while (i < n && A[i] != x)i++;if (i < n) return i;else return -1;}//测试void main(){sqlist A;int n1 = create(A);disp(A, n1);int n2 = ins(A, n1, 2, 88);disp(A, n2);int n3 = del(A, n2, 2);disp(A, n3);cout << "所在位置: " << find(A, n3, 3) << endl;}。

热心网友

你说的太笼统了啊~~数组是静态数组,意思就是顺序存储结构的静态数组中元素的插入删除是么?这个好象在数据结构的书里有写吧。静态数组定义 #define LIST_INIT_SIZE 100 //线形表存储空间的初始分配#define LISTINCREMENT 10 //线形表存储空间分配增量typedef struct{ ElemType *elem; //存储空间基址 int length; //当前长度 int listsize; //当前分配的存储容量(sizeof(Elemtype)为单位)}sqlist;举个删除的例子:Status ListDelete_Sq(Sqlist&L,int i,Elemtype &e){//在顺序线形表L中删除第i个元素,并用e返回其值//i的合法值为1L。Length)) return ERROR; //i值不合法p=&(L。elem[i-1]); //P为被删元素的位置e=*p; //被删除元素的值赋给eq=L。elem+L。length-1; //表尾元素的位置for(++p;p<=q;++p)*(p-1)=*p //被删元素之后的元素左移--L。length; //表长-1return ok;}//Listdelete_Sq插入,查找你想要的话另外再给。写这么多又准确,采纳我的答案吧。。