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;
}