标签:
1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 #define MAXSIZE 20 6 #define OK 1 7 #define ERROR 0 8 #define TRUE 1 9 #define FALSE 0 10 typedef int Status; 11 12 typedef int ElemType; 13 14 typedef struct 15 { 16 ElemType data[MAXSIZE]; 17 int length; 18 }SqList; 19 20 /*获得元素*/ 21 Status GetElem( SqList L, int i, ElemType *e ) 22 { 23 if( L.length=0 || i<1 || i>L.length) 24 return ERROR; 25 *e = L.data[i-1]; 26 return OK; 27 } 28 29 Status InsertElem(SqList *L, int i, ElemType e) 30 { 31 if(L->length == MAXSIZE) /*满了插不进去*/ 32 return ERROR; 33 if(i<1 || i>L->length+1) /*i不在范围内*/ 34 return ERROR; 35 int k; 36 if(i<L->length) /*插入位置不在表尾*/ 37 { 38 for(k=L->length-1; k>=i-1;k--) 39 L->data[k+1] = L->data[k]; 40 } 41 42 L->data[i-1] = e; 43 L->length++; 44 return OK; 45 } 46 47 Status DeleteElem(SqList *L, int i) 48 { 49 if(L->length==0) 50 return ERROR; 51 if(i>L->length || i<1) 52 return ERROR; 53 54 int k; 55 for(k=i-1;k<L->length-1;k++) 56 { 57 L->data[k] = L->data[k+1]; 58 } 59 L->length--; 60 return OK; 61 } 62 63 /*int main() 64 { 65 int i ; 66 SqList *L = malloc(sizeof(SqList)); //头文件:malloc.h/stdlib.h 67 L->length = 0; //少了初始化的函数,只能自己设置长度为0 68 for(i=1;i<6;i++) 69 { 70 InsertElem(L,i,i); 71 //insert函数里面已经有了length++了。 72 } 73 return 0; 74 } 75 */
基本的插入删除。顺序存储结构
标签:
原文地址:http://www.cnblogs.com/mighty/p/4181497.html