> 文档中心 > 数据结构顺序表(C语言)

数据结构顺序表(C语言)


#include #include #define ElemType int  // 定义int类型#define maxsize  100//最大长度typedef struct {    int *data;    int length;} SqList;//链表初始化void initList( SqList *L) {   L->data = (ElemType *)malloc(maxsize*sizeof (ElemType));    if(!L->data) { printf("内存分配失败!"); exit(0);    }    L->length = 0;}//创建一个链表void CreateSqList(SqList *L, int n) {  //n是需要创建的长度    int i = 0;    if (n > maxsize || n < 1) printf(" 非法长度。");    for (i = 0; i data[i]); L->length++;    }}//在指定位置插入数据    void InsertSqList(SqList *L, int n, ElemType e) { //n为插入位置,e为要插入的数据 int i = 0; if (n > L->length || n length - 1; i >= n - 1; i--) {  L->data[i + 1] = L->data[i];     }     L->data[n - 1] = e;     L->length++; }    }//删除指定位置的数据    void DeleteSqList(SqList *L, int n) { //n为要删除的数据位置 int i = 0; if (n > L->length || n < 1) {     printf("删除位置非法!"); } else {     for (i = n; i length; i++) {  L->data[i - 1] = L->data[i];     }     L->length--; }    }int main() { SqList L; //测试  initList(&L); CreateSqList(&L, 5); InsertSqList(&L, 2, 3); DeleteSqList(&L, 1); PrintSqList(&L); return 0;}