大學(xué)數(shù)據(jù)結(jié)構(gòu)題目,遞增順序表插入元素


答案優(yōu)選

下面的程序先構(gòu)造一個(gè)順序表,輸入n個(gè)元素。然后輸入要插入的元素,插入完成后,該表仍然保持有序。

大學(xué)數(shù)據(jù)結(jié)構(gòu)題目,遞增順序表插入元素

#include<stdio.h>
#include<stdlib.h>
#include<conio.h>

#defineLIST_INIT_SIZE100

structlist
{
int*data;
intlistsize;
intlistlength;
};

intcreate_list(structlist&l);
intinit_list(structlist&l);
intinsert_list(structlist&l);
intdisplay_list(structlist&l);

intmain()
{
structlistsqlist;
create_list(sqlist);
init_list(sqlist);
display_list(sqlist);

insert_list(sqlist);
display_list(sqlist);

return0;
}

intcreate_list(structlist&l)
{
l.data=(int*)malloc(LIST_INIT_SIZE*sizeof(int));
if(l.data==NULL)
{
printf("allocationfailn");
exit(0);
}
printf("allocationsuccessn");
l.listsize=LIST_INIT_SIZE;
l.listlength=0;
return0;
}

intinit_list(structlist&l)
{
inti;
intn;

printf("pleaseinputthenumberoflists:n");
大學(xué)數(shù)據(jù)結(jié)構(gòu)題目,遞增順序表插入元素

scanf("%d",&n);

for(i=0;i<n;i++)
{
printf("pleaseinputthe%ddata:n",i);
scanf("%d",&l.data[i]);
l.listlength++;
}
return0;
}

intinsert_list(structlist&l)
{
inti;
intn;

intinsert_place;
printf("pleaseinputthedatatoinsert:n");
scanf("%d",&n);

for(i=0;i<l.listlength;i++)
{
if(n<l.data[i])
{
break;
}
}

insert_place=i;

for(i=l.listlength-1;i>=insert_place;i--)
{
l.data[i+1]=l.data[i];
}

l.data[insert_place]=n;
l.listlength++;

return0;
}

intdisplay_list(structlist&l)
{
inti;
for(i=0;i<l.listlength;i++)
{
printf("%ddatais%dn",i,l.data[i]);
}
return0;
}

運(yùn)行結(jié)果如下,也可以自己跑一下程序,就看到結(jié)果了。

大學(xué)數(shù)據(jù)結(jié)構(gòu)題目,遞增順序表插入元素

網(wǎng)上報(bào)名
  • 姓名:
  • 專業(yè):
  • 層次: ??分?jǐn)?shù):
  • 電話:
  • QQ/微信:
  • 地址:

文中圖片素材來(lái)源網(wǎng)絡(luò),如有侵權(quán)請(qǐng)聯(lián)系644062549@qq.com刪除

轉(zhuǎn)載注明出處:http://m.tengyi66.com