1 1 #include<stdio.h> 2 2 #define Maxsize 100 3 3 typedef struct // 定义一个顺序表的结构 4 4 { 5 5 int data[Maxsize]; 6 6 int length; 7 7 }Sqlist; 8 8 9 9 10 10 int Initlist(Sqlist &L)//初始化顺序表 11 11 { 12 12 L.length=0; 13 13 return 1; 14 14 } 15 15 16 16 17 17 18 18 int Getelem(Sqlist L,int p,int &e) //取得下标为p的元素并保存到e中 19 19 { 20 20 if(p<0||p>L.length-1) 21 21 return 0; 22 22 e=L.data[p]; 23 23 return 1; 24 24 } 25 25 26 26 27 27 28 28 29 29 int Locatelem(Sqlist L,int e) // 找到第一个与e值相同的元素下标并返回这个值 30 30 { 31 31 int i; 32 32 for(i=0;i<=L.length-1;i++) 33 33 if(L.data[i]==e) 34 34 return i; 35 35 return -1; 36 36 } 37 37 38 38 int Insertlist(Sqlist &L,int p,int e) //在下标为p处插入一个大小为e的元素 39 39 { 40 40 int i; 41 41 if(p<0||p>L.length||L.length>=Maxsize) 42 42 return 0; 43 43 for(i=L.data[L.length-1];i>=p;i--) 44 44 L.data[i+1]=L.data[i]; 45 45 L.data[p]=e; 46 46 L.length++; 47 47 return 1; 48 48 } 49 49 50 50 51 51 int Deletelist(Sqlist &L,int p,int&e)//删除下标为p处的元素 52 52 { 53 53 int i; 54 54 if(p<0||p>L.length-1) 55 55 return 0; 56 56 e=L.data[p]; 57 57 for(i=p;i<L.length-1;i++) 58 58 L.data[i]=L.data[i+1]; 59 59 L.length --; 60 60 return 1; 61 61 } 62 63 64 ---恢复内容结束--- 65 66 1 #include<stdio.h> 67 2 #define Maxsize 100 68 3 typedef struct // 定义一个顺序表的结构 69 4 { 70 5 int data[Maxsize]; 71 6 int length; 72 7 }Sqlist; 73 8 74 9 75 10 int Initlist(Sqlist &L)//初始化顺序表 76 11 { 77 12 L.length=0; 78 13 return 1; 79 14 } 80 15 81 16 82 17 83 18 int Getelem(Sqlist L,int p,int &e) //取得下标为p的元素并保存到e中 84 19 { 85 20 if(p<0||p>L.length-1) 86 21 return 0; 87 22 e=L.data[p]; 88 23 return 1; 89 24 } 90 25 91 26 92 27 93 28 94 29 int Locatelem(Sqlist L,int e) // 找到第一个与e值相同的元素下标并返回这个值 95 30 { 96 31 int i; 97 32 for(i=0;i<=L.length-1;i++) 98 33 if(L.data[i]==e) 99 34 return i; 100 35 return -1; 101 36 } 102 37 103 38 int Insertlist(Sqlist &L,int p,int e) //在下标为p处插入一个大小为e的元素 104 39 { 105 40 int i; 106 41 if(p<0||p>L.length||L.length>=Maxsize) 107 42 return 0; 108 43 for(i=L.data[L.length-1];i>=p;i--) 109 44 L.data[i+1]=L.data[i]; 110 45 L.data[p]=e; 111 46 L.length++; 112 47 return 1; 113 48 } 114 49 115 50 116 51 int Deletelist(Sqlist &L,int p,int&e)//删除下标为p处的元素 117 52 { 118 53 int i; 119 54 if(p<0||p>L.length-1) 120 55 return 0; 121 56 e=L.data[p]; 122 57 for(i=p;i<L.length-1;i++) 123 58 L.data[i]=L.data[i+1]; 124 59 L.length --; 125 60 return 1; 126 61 }