赞
踩
#include <stdio.h> #define MAXSIZE 10 typedef int ElemType; typedef int Status; typedef struct { ElemType data[MAXSIZE]; int length; } SqList; // 获取数据 Status GetElem(SqList L, int index, ElemType *e) { if (L.length == MAXSIZE || index < 1 || index > L.length) { return 0; } *e = L.data[index - 1]; return 1; } // 插入数据 Status ListInsert(SqList *L, int index, ElemType e) { if (L->length == MAXSIZE || index < 1 || index > L->length + 1) { return 0; } if (index <= L->length) { int i; for (i = L->length - 1; i >= index - 1; i--) { L->data[i + 1] = L->data[i]; } } L->data[index - 1] = e; L->length++; return 1; } // 删除数据 Status DeleteElem(SqList *L, int index) { if (L->length == MAXSIZE || index < 1 || index > L->length) { return 0; } if (index < L->length) { int i; for (i = index; i < L->length; i++) { L->data[i - 1] = L->data[i]; } } L->length--; return 1; } int main() { SqList List; List.length = 0; int i; for (i = 1; i < 6; i++) { ListInsert(&List, 1, i); } printf("在第一个位置插入数据后,长度为:%d", List.length); printf("\n"); printf("查看数组:"); for (i = 0; i < List.length; i++) { printf("%d ", List.data[i]); } printf("\n"); printf("使用GetElem查看数组:"); for (i = 0; i < List.length; i++) { ElemType temp; GetElem(List, i + 1, &temp); printf("%d ", temp); } printf("\n"); DeleteElem(&List, 2); printf("删除第二个数据后:"); for (i = 0; i < List.length; i++) { printf("%d ", List.data[i]); } printf("\n"); // 防止控制台消失 getchar(); return 0; }
O(∩_∩)O~~
赞
踩
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。