首页 > 代码库 > 线性表1

线性表1

 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 010 typedef int Status;11 12 typedef int ElemType;13 14 typedef struct15 {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 */

基本的插入删除。顺序存储结构

线性表1