SeqList.h (顺序表及其简单应用)

SeqList.h

//顺序表的实现 #include "stdio.h" #include "math.h" //#define MaxSize 10 //typedef int DataType; typedef struct { DataType list[MaxSize]; int size; } SeqList; //初始化列表 void ListInitiate(SeqList *L) { L->size = 0; } //得到列表的大小 int ListLength(SeqList *L) { return L->size; } int ListInsert( SeqList *L, int i, DataType x) { int j; if ( L->size >= MaxSize ) { printf("顺序表已经满了无法插入!/n"); return 0; } else if ( i<0 || i>L->size) { printf("参数不合格!"); return 0; } else { for (j=L->size;j>i;j--) { L->list[j] = L->list[j-1]; } L->list[i] = x; L->size++; return 1; } } int ListDelete( SeqList *L, int i , DataType *x) { int j; if ( L->size <=0 ) { printf("顺序表已经空!/n"); return 0; } else if ( i<0 || i>=L->size) { printf("参数不合格!"); return 0; } else { *x = L->list[i]; for ( j = i;j < L->size-1; j++ ) { L->list[j] = L->list[j+1]; } L->size--; return 1; } } int ListGet (SeqList *L, int i, DataType *x) { if ( i<0 || i>L->size-1) { printf("参数不合格!"); return 0; } else { *x=L->list[i]; return 1; } }

 

SeqListApp1

#include "stdio.h" #define MaxSize 10 typedef int DataType; #include "SeqList.h" void main(void) { SeqList myList; int i, x; ListInitiate(&myList); for ( i = 0; i < 10; i++ ) { if (ListInsert(&myList, i, i+1) == 0) { printf("插入错误!/n"); return ; } } if (ListDelete(&myList, 4, &x) == 0) { printf("Delete error!/n"); return ; } for (i = 0; i < ListLength(&myList); i++) { if (ListGet(&myList,i,&x) == 0) { printf("get error !/n"); return ; } else { printf("%d ", x); } } }

 

你可能感兴趣的:(数据结构,math.h,delete,struct,list)