啊哈演算法上的 陣列模擬鍊錶

2021-09-26 03:57:27 字數 1066 閱讀 5827

//這本書上的只說了在一組有序數列的資料中插入某資料,並沒有說在開頭和結尾插

//給定乙個n 接下來有n個有序資料 之後輸入乙個數,插入到數列中

//書本原**如下:

#includeusing namespace std;

int main(void)

//直接在陣列data末尾增加乙個數

len++;

scanf("%d", &data[len]);

//從鍊錶的頭部開始遍歷

t = 1;

while (t != 0)

t = right[t];//移到 下乙個位置開始比較

} //輸出鍊錶中的所有數

t = 1;

while (t != 0)

return 0;

}

//下面是我改了一下的, 改的不像樣了已經。。算是乙個思路吧。 可以在頭尾也插資料

#includeusing namespace std;

int main(void)

//直接在陣列data末尾增加乙個數

len++;

scanf("%d", &data[len]);

//從鍊錶的頭部開始遍歷

t = 0;

while (t != -1)

t = right[t];//移到 下乙個位置開始比較

} if (flag2 == 1)

//輸出鍊錶中的所有數

if (flag1 == 1)//當在第乙個數前面插入的時候 比如2 3 5 8 9.要插入1 這種情況

t = 0;//需要用到頭結點 指向的第乙個資料,因為書本上的 直接輸出了第乙個,沒有考慮在第乙個前面插入的情況.在這裡就是要讓插入的先輸出,之後輸出第乙個

else//當在中間插入的時候,比如2 3 5 8 9 插入6

t = 1;//直接書上的輸出方式即可

while (t != -1)

else

t = right[t];

} return 0;

}

啊哈演算法 鍊錶

今天算是對鍊錶和指標有了乙個新的感悟。以前總是朦朧的概念,特別對於malloc 函式,幾乎是死記硬背,現在認識的清晰了一點。感觸如下 陣列 陣列 for int i 0 i鍊錶 鍊錶 t head 前提是已經定義好t head都是指標型別的,如果不懂可以看完整的題解 t head就相當於陣列中的i ...

啊哈!演算法 棧 佇列 鍊錶

特點 管子,兩邊開口,先進先出 first in first out 佇列的三個基本元素 乙個陣列,兩個變數 include using namespace std struct queue typedef struct queue queue 將 struct queue 重新命名為 queue ...

陣列模擬鍊錶

單鏈表 include using namespace std int head 1 idx 0,e 100005 ne 100005 void add head int x void remove int k void add int k,int x intmain else if a d 刪除元...