c语言顺序表基本操作
1. 是C语言中建立顺序表的程序
C语言中建立顺序表的操作顺序如下:
1.清空顺序表:其实清空只不过将元素长度置0,让后面插入数据函数的长度从0开始,其实并不是真正清空,之前的数据元素在内存中还存在,只不过可以被新元素覆盖而已。
2.判断顺序表是否为空
2. 数据结构 用C语言实现顺序表的建立及遍历
#include<stdio.h>
#include<malloc.h>
typedefstructnlist
{
int*np;
intlen;//已使用地址个数
intmaxlen;//最大地址个数
}NLT;
NLT*createlist();//创建顺序表
intaddtolist(NLT*nlist);//向顺序表插入元素
voidpList(NLT*nlist);//遍历顺序表
intmain()
{
inti;
NLT*nlist=createlist();
if(nlist)
{
for(i=0;i<nlist->maxlen;i++)
addtolist(nlist);
pList(nlist);
}
return0;
}
voidpList(NLT*nlist)//遍历打印,空格分割,最后一个数后面没有空格
{
inti;
for(i=0;i<nlist->len-1;i++)
printf("%d",nlist->np[i]);
printf("%d",nlist->np[nlist->len-1]);
}
NLT*createlist()
{
NLT*nlist=NULL;
nlist=(NLT*)malloc(sizeof(NLT));
scanf("%d",&nlist->maxlen);
nlist->np=(int*)malloc(sizeof(int)*nlist->maxlen);
if(!nlist||!nlist->np)
{
printf("内存申请失败!
");
returnNULL;
}
nlist->len=0;
returnnlist;
}
intaddtolist(NLT*nlist)
{
if(nlist->len<nlist->maxlen)//如果存储空间未满,保存元素,保存成功返回1失败返回0
{
scanf("%d",&nlist->np[nlist->len]);
nlist->len++;
return1;
}
else//这里可以写当存储满的之后,空间扩容,本题用不到所以我不写了
return0;
}