日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

*顺序表[数组法]

發(fā)布時(shí)間:2025/3/15 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 *顺序表[数组法] 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

基礎(chǔ)結(jié)構(gòu):

#define MAXSIZE 100 typedef struct seqlist {int List[MAXSIZE];int length; }SeqList;

?模型建立之后,就可以創(chuàng)建一個(gè)實(shí)在的東西

SeqList L;

現(xiàn)在需要對(duì)線性表進(jìn)行初始化操作,這里用的是把length置為0。

void InitList(SeqList &L) {L.length=0; }

插入操作

主要有三個(gè)部分
[1] 插入之前,進(jìn)行判定。這個(gè)判定又分兩種情況:<1>插入元素的位置是否合法? 這里,合理的范圍是在[1,L->length+1]之間,比如,在第5個(gè)位置插入,這里指的是序號(hào)。<2>線性表是否已滿(mǎn) ?如果表已滿(mǎn),就不能再進(jìn)行插入操作,判定為:L.length>=MAXSIZE

if(i<1 || i>L.length+1){cout<<"超出位置范圍"<<endl;return -1;}else if(L.length>=MAXSIZE){cout<<"表已滿(mǎn)"<<endl;return -1;}

[2]移動(dòng)數(shù)據(jù)。對(duì)于插入來(lái)說(shuō),是先從后面移動(dòng),直到位置i。

借用一個(gè)變量j進(jìn)行移動(dòng),這里序號(hào)和編號(hào)就纏繞在一起。

for(j=L.length;j>=i;j--) /*元素移動(dòng)*/L.List[j]=L.List[j-1];

[3]將元素賦值,最后將length+1;

int InsertElem(SeqList &L,int i,int e) {int j;if(i<1 || i>L.length+1){cout<<"超出位置范圍"<<endl;return -1;}else if(L.length>=MAXSIZE){cout<<"表已滿(mǎn)"<<endl;return -1;}for(j=L.length;j>=i;j--) /*元素移動(dòng)*/L.List[j]=L.List[j-1];L.List[i-1]=e;L.length++; /*插入數(shù)據(jù)后,不能忘記將length+1*/return 0; }

刪除操作:

和插入類(lèi)似,也需要進(jìn)行幾步操作, [1] 判定范圍 ?[2]刪除操作 [3]線性表長(zhǎng)度減1;

int DeleteList(SeqList &L,int i,int *e) {int j;if(L.length<=0) /*線性表為空*/return -1;else if(i<1 || i>L.length) /*超越范圍*/return -1;*e=L.List[i-1];for(j=i;j<=L.length-1;j++)L.List[j-1]=L.List[j];L.length--;/*線性表長(zhǎng)度減1*/return 0; }

for(j=i;j<=L.length-1;j++),在這一句中,經(jīng)過(guò)計(jì)算,如果刪除末位的元素,則不會(huì)產(chǎn)生移動(dòng),而只執(zhí)行L.length--
此外,判定條件也可以合并:

if(i<1 || i>L.Length || L.Length<=0)return -1;

?

轉(zhuǎn)載于:https://www.cnblogs.com/tinaluo/p/5240725.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)

總結(jié)

以上是生活随笔為你收集整理的*顺序表[数组法]的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。