数据结构 - 线性表的顺序存储结构

    科技2022-07-13  117

    #include <stdio.h> #include <stdlib.h> #define MAXSIZE 20 #define OK 1 #define ERROR 0 #define TRUE 1 #define FALSE 0 typedef int Status; typedef int ElemType; typedef struct { ElemType data[MAXSIZE]; int length; }SqList; /*********获取顺序线性表的值**************/ /*Status是函数的类型,其值是函数结果状态代码,如OK等*/ /*初始条件:顺序线性表L已存在,1<=i<=ListLength(L)*/ /*操作结果:用e返回L中第i个数据元素的值*/ Status GetElem(SqList L,int i, ElemType *e) { if(L.length==0 || i<1 || i>L.length) return ERROR; *e=L.data[i-1]; return OK; } /*******顺序线性表插入**********/ Status ListInsert(SqList *L,int i, ElemType e){ int k; if(L->length==MAXSIZE) return ERROR; if(i<1 || i>L->length+1) return ERROR; if(i<=L->length) { for(k=L->length-1;k>=i-1;k--) L->data[k+1]=L->data[k]; } L->data[i-1]=e; L->length++; return OK; } /********顺序线性表删除**********/ Status ListDelete(SqList *L,int i, ElemType *e) { int k; if(L->length==0) return ERROR; if(i<1 || i>L->length) return ERROR; *e=L->data[i-1]; if(i<L->length) { for(k=i; k<L->length; k++) L->data[k-1]=L->data[k]; } L->length--; return OK; } int main() { }
    Processed: 0.014, SQL: 8