线性表的顺序动态存储——C语言实现简单函数
来源:互联网 发布:热血江湖源码 编辑:程序博客网 时间:2024/05/21 06:19
#include<stdio.h>#include <stdlib.h>#define ERROR 0#define OK 1#define TRUE 1#define FALSE 0#define OVERFLOW -2#define INFEASIBLE -1#define LIST_INT_SIZE 100#define LISTINCREMENT 10typedef struct{int *e;int length;int listsize;}SqList;int InitList(SqList *L){L->e=(int *)malloc(LIST_INT_SIZE*sizeof(int));if(!L->e) exit(OVERFLOW);L->length=0;L->listsize=LIST_INT_SIZE;return OK;}int ListInsert(SqList *L,int i,int e){if(i<1||i>L->length+1) return ERROR;if(L->length>=L->listsize){int *newbase=(int *)realloc(L->e,(L->listsize+LISTINCREMENT)*sizeof(int));if(!newbase) exit(OVERFLOW);L->e=newbase;L->listsize += LISTINCREMENT;}int *q =&(L->e[i-1]);int *p;for(p=&(L->e[L->length-1]);p>=q;--p) *(p+1)=*p;*q=e;++L->length;}int deleteList(SqList *L,int i,int *e){if(i<1||i>L->length) return ERROR;int *p=&(L->e[i-1]);*e = *p;int *q=L->e+L->length-1;for(++p;p<=q;++p)*(p-1)=*p;--L->length;return OK;}int visitList(SqList L){int i;for(i=0;i<L.length;i++)printf("%d\t",L.e[i]);printf("\n");return OK;}int main(){SqList L;InitList(&L);int i;for(i=1;i<5;i++)ListInsert(&L,i,i);visitList(L);deleteList(&L,2,&i);printf("%d\n",i);visitList(L);return 0;}
阅读全文
0 0
- 线性表的顺序动态存储——C语言实现简单函数
- 顺序线性表——通过存放地址,实现顺序存储--C语言简单实现
- 线性表的顺序存储结构的c语言实现
- C语言--线性表的顺序存储的实现
- 顺序存储结构线性表的C语言实现
- 用C语言实现线性表的顺序存储结构
- 线性表顺序存储结构的c语言实现
- C语言实现一般线性表的顺序存储
- 线性表的顺序存储结构(C语言实现)
- 线性表的顺序静态存储--C语言实现
- 线性表的顺序存储实现c语言
- 线性表的动态顺序存储实现
- 线性表的动态顺序存储实现
- 线性表之顺序存储结构(C语言动态数组实现)
- 线性表之顺序存储结构(C语言动态数组实现)
- 线性表之顺序存储结构(C语言动态数组实现)
- 线性表—顺序存储(C语言)
- 线性表的顺序实现(C语言)
- PHP中利用redis实现消息队列处理高并发请求
- ACE-IP包装ACE_INET_Addr类
- scrapy framework
- vb
- hdu 5175 思维
- 线性表的顺序动态存储——C语言实现简单函数
- Android-Intent简单学习
- Tomcat的安装与卸载
- NOIP2017 检查清单
- 计算C(2n, n)
- Luogu 3371(dijkstra堆优化)
- HELLO,21
- 浅谈几种服务器端模型——同步阻塞迭代
- Linux环境下mosquitto的安装及部分问题解决方法