顺序表的插入
按位置插入
我們知道? ?順序表的特點就是? 無論在邏輯上還是地址上都是連續(xù)的
先看順序表的結(jié)構體:
#define MAXSIZE 10 //順序表一般固定大小
struct SeqList
{int data[MAXSIZE];int capacity; //順序表容量大小int cursize; //順序表中有效數(shù)據(jù)節(jié)點個數(shù)
}SeqList , *PSeqList; //結(jié)構體指針和結(jié)構體別名
再來看結(jié)構體的數(shù)據(jù)按位置插入:
bool Insert(PSeqList plist , int pos , int val)
{assert(plist != NULL);if(pos < 0 || pos > plist -> cursize) //這塊為什么要pos > plist -> cursize呢 下圖有解釋{ return false;} for(int i = plist -> cursize ; i > pos ; i--){plist -> data[i] = plist -> data[i-1];}plist -> data[pos] = val;plist -> cursize += 1; //有效數(shù)據(jù)域加一return true;
}
這行代碼在我看來是最難理解的
?數(shù)據(jù)結(jié)構!
總結(jié)
- 上一篇: fork() || fork() ||
- 下一篇: 精灵王的技能石1.2.3阶可以用吗???