const int MAXN = 100005;
int value[MAXN]; //保存鏈表中數,數據域
int ne[MAXN]; //指針域,ne[i]表示節點i的next指針
int head; //頭結點,指向鏈表的首節點
int index; //記錄當前存儲位置
//初始化
void init() {
head = -1; //-1表示指向空(null)
index = 0;
}
//向鏈表頭插入一個數;
void insert(int x) {
ne[index] = head;
head = index;
value[index++] = x;
}
// 刪除第k個插入的數後面的數;
void remove(int k) {
if(!k) { //刪除首節點
head = ne[head];
}else {
ne[k-1] = ne[ne[k-1]];
}
}
// 在第k個插入的數後插入一個數
void insert(int k, int x) {
ne[index] = ne[k-1];
ne[k-1] = index;
value[index++] = x;
}
//打印鏈表
void print() {
for(int i = head; i != -1; i = ne[i]) {
cout << value[i] << ' ';
}
cout << endl;
}
數據結構之單鏈表(數組模擬)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.