线性表--顺序表
线性表的数组实现 #include<iostream> const int max = 1000; using namespace std; typedef struct LNode *List; struct LNode { int Data[max]; int Last; }; List MakeEmpty() { List PtrL; PtrL = (List)malloc(sizeof(struct LNode)); PtrL->Last = -1; return PtrL; } int Find(int X, List PrtL) { int i = 0; while (i < PrtL->Last&&PrtL->Data[i] != X) { i++; } if (i > PrtL->Last) return -1; else return i; } void Insert(int X, int i, List PrtL) { int j; if (PrtL->Last == max - 1) { cout << "表满" << endl; return; } if (i < 1 || i>PrtL->Last) { cout << "位置不合法" << endl; return; } for (j = PrtL->Last; j >=i-1; j--) { PrtL->Data[j + 1] = PrtL->Data[j]; } PrtL->Data[i-1] = X; PrtL->Last++; return; } void Delete(int i,List PrtL) { int j; if (i<1 || i>PrtL->Last+1) { cout << "不存在这个元素" << endl; return; } for (j = i; j <= PrtL->Last; j++) { PrtL->Data[j - 1] = PrtL->Data[j]; } PrtL->Last--; return; }