XXSXB
来源:互联网 发布:截面数据 编辑:程序博客网 时间:2024/06/06 01:05
#include < stdio.h > #include < stdlib.h > #include "myconst.h"#define LIST_INIT_SIZE 100#define LISTINCREMENT 10typedef int ElemType;typedef struct { ElemType * elem; int length; int listsize;}SqList;Status InitList_Sq(SqList & L) { L.elem = (ElemType * ) malloc(LIST_INIT_SIZE * sizeof(ElemType)); if (!L.elem) exit(OVERFLOW); L.length = 0; L.listsize = LIST_INIT_SIZE; return OK;}Status ListInsert_Sq(SqList & L, int i, ElemType e) { ElemType * p, *q, *newbase; if (i < 1 || i > L.length + 1) return ERROR; if (L.length >= L.listsize) { newbase = (ElemType * ) realloc(L.elem, (L.listsize + LISTINCREMENT) * sizeof(ElemType)); if (!newbase) exit(OVERFLOW); L.elem = newbase; L.listsize += LISTINCREMENT; } q = &(L.elem); for (p = &(L.elem[l.length - 1]); p >= q; --p) * (p + 1) = *p; * q = e; ++L.length; return OK;}Status ListDelete_Sq(SqList & L, int i, ElemType & e) { ElemType * p, *q; if (i < 1 || i > L.length) return ERROR; p = &(L.elem); e = *p; q = L.elem + L.length - 1; for (++p; p <= q; ++p) * (p - 1) = *p; --L.length; return OK;}void printSq(SqList L) { int i, j; ElemType * p; j = L.length; p = L.elem; printf("\n"); for (i = 0; i < j; i++) { printf("%5d", p); if ((i + 1) % 10 == 0) printf("\n"); } printf("\n");}void main() { int i; ElemType e; SqList L; InitList_Sq(L); printf("\n"); for (i = 1; i <= 11; i++) { printf("Enter L[%d]:", i); scanf("%d", &e); ListInsert_Sq(L, i, e); } printSq(L); ListDelete_Sq(L, 7, e); printSq(L); printf("e=%d", e);}
0 0
- XXSXB
- nexus5 博通芯片WIFI详解 (1)
- Hi3520d 嵌入式ftp服务器vsftpd移植及配置
- Spark快速大数据分析——互动出版网
- Access the Spring-ApplicationContext from everywhere in your Application
- 我的java 之旅——day 1
- XXSXB
- Firefox OS启动过程分析-nuwa进程启动
- ARM指令集
- java session 解析
- android-async-http源码解读(一)
- Java:关于super()的用法
- nexus5 博通芯片WIFI详解 (2)
- codeforces 225C C. Barcode(dp)
- 我为什么选择IBatis而不是Hibernate(对于正在选型的人的建议)?