1 #include <iostream> 2 using namespace std; 3 #define MAXLENGTH 20 4 5 typedef struct LineList 6 { 7 int Array[MAXLENGTH]; 8 int curLength; 9 }LineList; 10 11 bool initial(LineList* elem) 12 { 13 elem->Array[0] = 0; 14 elem->curLength = 0; 15 return true; 16 } 17 18 //-------------------------- 19 //elem:要插入的元素 20 //n:要插入的位置 21 //--------------------------- 22 bool insert(LineList* array,int n,int elem) 23 { 24 if (n > array->curLength) 25 { 26 cout<<"error!"<<endl; 27 return false; 28 } 29 if (array->curLength+1 == MAXLENGTH) 30 { 31 cout<<"overflow!"<<endl; 32 return false; 33 } 34 35 //第一个元素不要了,从下标1开始计算 36 //第一个元素用于保存元素个数(int类型时) 37 for (int i= array->curLength ; i != n ;i-- ) 38 { 39 array->Array[i+1] = array->Array[i]; 40 } 41 array->Array[i+1] = elem; 42 43 array->curLength++; 44 return true; 45 } 46 47 //删除位置n处的值 48 bool deleteex(LineList* array,int* elem,int n ) 49 { 50 if (n > array->curLength || n <= 0 ) 51 { 52 cout<<"error!"<<endl; 53 return false; 54 } 55 56 *elem= array->Array[n]; 57 58 for (int i = n ; i< array->curLength;i++) 59 { 60 array->Array[i] = array->Array[i+1]; 61 } 62 array->curLength--; 63 return true; 64 } 65 66 bool search(LineList *array ,int *elem,int n) 67 { 68 if (n<= 0 || n > array->curLength) 69 { 70 cout<<"error!"<<endl; 71 return false; 72 } 73 *elem = array->Array[n]; 74 return true; 75 } 76 77 bool modify(LineList *array,int elem, int n) 78 { 79 if (n<= 0 || n>array->curLength) 80 { 81 cout<<"error!"<<endl; 82 return false; 83 } 84 array->Array[n] = elem; 85 return true; 86 87 } 88 void print(LineList array) 89 { 90 for (int i = 1 ; i <= array.curLength;i++) 91 { 92 cout<<array.Array[i]<<endl;; 93 } 94 } 95 96 int main() 97 { 98 LineList array; 99 initial(&array); 100 if(!insert(&array,0,2)) 101 { 102 return -1; 103 } 104 insert(&array,0,1); 105 print(array); 106 cout<<"-------------------------"<<endl; 107 int ele; 108 deleteex(&array,&ele,1); 109 print(array); 110 cout<<"-------------------------"<<endl; 111 if(search(&array,&ele,1)) 112 { 113 cout<<ele<<endl; 114 } 115 116 cout<<"---------------------"<<endl; 117 if (modify(&array,5,1)) 118 { 119 print(array); 120 } 121 122 return 0 ; 123 }