c語言棧的標準化實現
失敗**寄包櫃問題
營業額統計資料失敗**
==我太菜了==
本部落格記錄僅供自己學習記錄,存在大量錯誤之處亟待解決
本次刷題主要收穫有兩點:
1.資料結構中棧的c語言模擬
2.資料結構中c語言進行splay操作
此處貼三個**:
#include#include#include//定義棧
typedef structstack;
//建立棧
stack *stackcreate()
//入棧
void stackinput(stack *p, char str)
//出棧
char stackoutput(stack *p, char str)
}//輸出
void stackprint(stack *p)
}//主函式
int main()pa;
int main()
else
}} }
return 0;
}
這題考察的是構造出一種資料結構能夠起到代替二維陣列的作用,題中給出的資料過大,二維陣列無法容納,題解都是用c++完成,c語言我只想到了鍊錶的方式解決問題,於是我敲了乙個雙向鍊錶,但不知道什麼原因在資料過大(3百多次迴圈後)就會出現偏差。資料較小時未出錯。
目前我仍不知道有什麼辦法可以模擬大容量的二維陣列(用動態貯存太慢了)
貼**:
#include#includeint f[1000010], ch[1000010][2], root, now, a, tr;
int which(x)
void setson(int son, int fa, int w)
void rot(x)
void splay(int x)
} root = x;
return;
}void insert(x)
else
else
}else if (x splay變化確實有意思,本來想單獨寫一篇部落格,但是這題沒過就算了我太菜了同樣我不知道出了什麼問題,全部wa了。自己看了一天的splay能做到這樣也還行吧之前我甚至連二叉樹都沒有寫過感覺大致結構應該沒問題,不過我是用陣列實現的splay,結構體的我沒寫出來。
寫的時候主要參考:
dalao部落格
就到這裡了
資料結構 排序演算法 秒懂演算法 洛谷刷題
時間複雜度 平均o n log2n 最壞的情況o n 2 所以傳統的快排是無法ac的 include using namespace std int n,a 100005 void quicksort int array,int l,int r while left right array left...
洛谷P3948 資料結構 題解
題目傳送 感覺這道題秀了我一地的智商。審題沒審好,沒確定帶修改的操作中詢問的次數 1000,且max和min都是事先給好 不變的。想了半天線段樹 分塊,卻忘了最基礎的暴力。寫不出題時先寫暴力。離線部分 顯然不能暴力處理詢問了,但是沒有修改,又是區間詢問個數,自然要想到字首和優化了。設sum i 為前...
洛谷 1996 約瑟夫問題(線性資料結構)
題目背景 約瑟夫是乙個無聊的人!題目描述 n個人 n 100 圍成一圈,從第乙個人開始報數,數到m的人出列,再由下乙個人重新從1開始報數,數到m的人再出圈,依次類推,直到所有的人都出圈,請輸出依次出圈人的編號.輸入輸出格式 輸入格式 n m輸出格式 出圈的編號 輸入輸出樣例 輸入樣例 1 10 3 ...