模擬鍊錶c

2021-08-21 19:11:39 字數 770 閱讀 6002

和鍊錶相似,只不過將鍊錶的next域用乙個陣列表示。陣列data用來存放具體數字,而另乙個陣列right用來存放當前序列中每乙個元素右邊的元素在陣列data中的位置的。

for(int i=1; i<=n; i++) scanf("%d",&data[i]);

len=n;

//初始化陣列right

for(int i=1; i<=n; i++)

圖醜請見諒qwq 

//直接在陣列data的末尾增加乙個數x,也就是data[len]

len++;

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

//從鍊錶頭部開始遍歷

if(data[len]>=data[1] && data[len]<=data[len-1])

t=right[t];

} }else if(data[len]data[len-1]) cout<

return 0;

}

陣列模擬鍊錶(靜態鍊錶)

為了模擬鍊錶的操作,設定了乙個date 資料 以及cur 相當於指標域 typedef struct list list s size size為陣列大小 我們用s size 1 cur來起頭指標的作用,指向鍊錶的第乙個元素的下標。因為不能直接malloc出來乙個空間,需要s 0 來儲存乙個空的陣列...

2 5模擬鍊錶

include define n 9 using namespace std int main len n 初始化陣列right for i 1 i n i else 直接在陣列data的末尾增加乙個數 len cout 請輸入要在原陣列中增加的數 cin data len 從鍊錶的頭部開始遍歷 t...

鍊錶模擬佇列

佇列是最基礎的資料結構之一,通過構建鍊錶來模擬佇列,更加清晰的理解佇列的意義。這裡是將佇列作為全域性變數來呼叫,因為不用全域性變數的時候出現好多錯誤,最後還是用了全域性變數。上 include using namespace std include includestruct linklist st...