顺序表的删除(按位置删、头删、尾删)
生活随笔
收集整理的這篇文章主要介紹了
顺序表的删除(按位置删、头删、尾删)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
順序表的結構體設計:
#define MAXSIZE 10 //順序表一般固定大小
struct SeqList
{int data[MAXSIZE];int capacity; //順序表容量大小int cursize; //順序表中有效數據節點個數
}SeqList , *PSeqList; //結構體指針和結構體別名
按位置刪除:
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++) //下圖對這個有解釋{plist->data[i] = plist->data[i + 1];}plist->cursize += 1;return true;
}
下圖是對于代碼對邊界條件處理的一些講解? ?這種東西只要把握住了邊界條件? ?還是很簡單的 :
尾刪:? 上面已經給按位置刪除函數寫出來了? ?尾刪相當于 按照最后一個數據進行刪除? 這樣的話 調用按位置刪除函數? ?提供高代碼的復用性
void Eraser_Front(PSeqList plist)
{assert(plist != NULL);Eraser(plist , plist->cursize-1);
}
頭刪:
void Eraser_Back(PSeqList plist)
{assert(plist != NULL);Eraser(plist , 0);
}
“每一個不曾起舞的日子都i是對未來的辜負!”
總結
以上是生活随笔為你收集整理的顺序表的删除(按位置删、头删、尾删)的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 北京瑜伽私教价格?
- 下一篇: 一念逍遥结成道侣有什么奖励?