顺序表的删除(按位置删、头删、尾删)
生活随笔
收集整理的這篇文章主要介紹了
顺序表的删除(按位置删、头删、尾删)
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
順序表的結(jié)構(gòu)體設(shè)計(jì):
#define MAXSIZE 10 //順序表一般固定大小
struct SeqList
{int data[MAXSIZE];int capacity; //順序表容量大小int cursize; //順序表中有效數(shù)據(jù)節(jié)點(diǎn)個(gè)數(shù)
}SeqList , *PSeqList; //結(jié)構(gòu)體指針和結(jié)構(gòu)體別名
按位置刪除:
bool Eraser(PSeqList plist, int pos)
{assert(plist != NULL);if (pos < 0 || pos > plist->cursize - 1) //這塊為什么要寫cursize-1呢 下面圖片有解釋{return false;}for (int i = pos; i < plist->cursize -1 ; i++) //下圖對(duì)這個(gè)有解釋{plist->data[i] = plist->data[i + 1];}plist->cursize += 1;return true;
}
下圖是對(duì)于代碼對(duì)邊界條件處理的一些講解? ?這種東西只要把握住了邊界條件? ?還是很簡(jiǎn)單的 :
尾刪:? 上面已經(jīng)給按位置刪除函數(shù)寫出來(lái)了? ?尾刪相當(dāng)于 按照最后一個(gè)數(shù)據(jù)進(jìn)行刪除? 這樣的話 調(diào)用按位置刪除函數(shù)? ?提供高代碼的復(fù)用性
void Eraser_Front(PSeqList plist)
{assert(plist != NULL);Eraser(plist , plist->cursize-1);
}
頭刪:
void Eraser_Back(PSeqList plist)
{assert(plist != NULL);Eraser(plist , 0);
}
“每一個(gè)不曾起舞的日子都i是對(duì)未來(lái)的辜負(fù)!”
總結(jié)
以上是生活随笔為你收集整理的顺序表的删除(按位置删、头删、尾删)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 北京瑜伽私教价格?
- 下一篇: const修饰的指针常量和常量指针