和鍊錶相似,只不過將鍊錶的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...