预览加载中,请您耐心等待几秒...
1/5
2/5
3/5
4/5
5/5

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C语言顺序存储结构C语言顺序存储结构C语言是一个有结构化程序设计、具有变量作用域以及递归功能的过程式语言。下面是小编分享的C语言顺序存储结构,一起来看一下吧。1、什么是顺序存储结构?用一段地址连续的存储单元依次存储线性表的'数据元素。2、线性表的顺序存储结构#include<stdio.h>#include<stdlib.h>#defineMax80//存储空间初始分配量#defineIncrement10 //存储空间分配增量typedefstruct{int*elem; //存储空间基地址,此处为int型,视情况而定intlength; //元素表当前长度intsize; //当亲分配的存储容量}SqList;3、顺序表的初始化操作是为顺序表分配一个预定大小的数组空间,并将顺序表的长度设为0。<一>intInitList(SqList&L){L.elem=(int*)malloc(Max*sizeof(int));if(!L.elem)return;//exit(0);//存储分配失败L.length=0; //空表长度为0L.size=Max; //初始存储容量returnOk;}<二>intCreatList(SqList&L){L.elem=(int*)malloc(Max*sizeof(int));if(!L.emle)return;//exit(0);L.length=0;L.size=Max;printf("请输入表的长度:");scanf("%d",&L.length);printf("请输入%d个数:",L.length);for(i=0;i<L.length;i++)scanf("%d",&L.elem[i]);}4.获取元素操作:将线性表中的第i个位置元素值位置返回intGetElem(SqList&L,inti,inte){//1<=i<=L.lengthif(i<1||i>L.length)returnERROR;*e=L.elem[i-1];returnOk;}5线性表的插入操作“intInsert(SqList&L){int*_new;inti;inte;printf(“输入要插入的位置及其元素:”);scanf(“%d%d”,&i,&e);if(i<1||i>L.length){printf(“插入的位置不合法!”);returnERROR;}if(L.length>=L.size)//当前空间已满,增加分配{_new=(int)malloc(L.elem,(L.length+Increment)*sizeof(int));if(!_new)//存储分配失败return;//exit(0);L.elem=_new;//新基址L.size=L.size+Increment;//增加存储容量}q=&(L.elem[i-1]);//q为插入的位置for(p=&(L.elem(L.length-1));p>=q;–p)//插入后元素右移*q=e;//插入e++L.length;//长度加一returnOK;}6、删除元素```intListDelete(SqList&L,inti,int*e){intk;if(L.length==0)//线性表为空returnERROR;if(i<1||i>L.length)//插入不正确returnERROR;*e=L.elem[i-1];if(i<L.length)//如果插入不是最后的位置{for(k=i;k<L.length;k++)L.elem[k-1]=L.elem[k];}L.length--returnOK;}