定義整型變數i作為迴圈變數,j用來儲存所刪除節點的個數
for (i小於順序表長度時執行迴圈)
if(順序表中第i個數大於mind且小於maxd)
j++否則l->data[i-j]=l->data[i];
本題第一次提交時用了while迴圈語句,結果編譯器判定是段錯誤,後來改為for迴圈時提交答案正確。
void createlist(list &l,int n)
定義鍊錶指標 s,r
定義整型變數i作為迴圈數x用來儲存要寫入鍊錶的數;
l=(listnode * )malloc(sizeof(listnode));鍊錶初始化
讓r指向頭節點
本題第一次提交時是因為輸出函式格式不正確而導致答案錯誤,加上並沒有判斷輸入的n是否合理所以錯了,後來經過修改改正
struct mdian;
建立結構體陣列 str[200005];
本題用煉表處理比較麻煩,於是巧妙地運用了陣列,算是一點小偷懶了= =
所以除了前兩次提交編譯器沒選好出現了編譯錯誤
其他地方沒有什麼大的錯誤
其實本週自己對於時間的安排不是特別好,這學期學到資料結構明顯比較吃力了,所以平時做作業也不是特別積極,導致本週的作業都是堆到最後幾天來做的,所以自己很不滿意,以後要養成經常打**的習慣,作業盡量提早做,平時經常複習,提高自己對**的熟練度。
線性表是最基本、最簡單、也是最常用的一種資料結構。
線性表中資料元素之間的關係是一對一的關係,即除了第乙個和最後乙個資料元素之外,其它資料元素都是首尾相接的(注意,這句話只適用大部分線性表,而不是全部。
除此之外還有很多東西有待學習,而且我對線性表研究的也不是很透徹,以後補充。
作者僅僅用不到100行**就實現了雙向鍊錶。
包括以下功能:
1. 新增節點
2. 刪除節點
3. 取得頭節點
4. 取得尾節點
5. 取得下乙個節點
6. 取得上乙個節點
7. 鍊錶是否為空的判斷
8. 取得鍊錶節點個數
而且**很清晰 可讀性很高 很值得學習
部落格作業2 線性表
定義變數n存放順序表長度,i,j 0控制迴圈,l 1存放子列長度,k,m,max存放最大子列長度,flag存放最長子列陣列下標,sum 0求和 scanf d n int a n 存放母列 b 100000 存放子列長度 for i 0 to n 輸入母列 end for for i 1 to n ...
部落格作業2 線性表
for i 0 to length 1 if j大於等於i length為k 剛開始把重新賦值的 放在了第二個for裡面。linklist p l 用p代替l while p next不為0 if m為0或者大於n 不存在返回 1 while j小於n m 1且p不為0 if p為0 返回 1 否則...
部落格作業2 線性表
一 pta實驗作業 5分 1.題目1 7 1 最長連續遞增子串行 2.設計思路 偽 或流程圖 定義 a,b,a放元素,b放遞增序列長度 將元素放入陣列a中 for i 0,j 0 i3.截圖 4.pta提交列表說明。剛開始用鍊錶做,一直過不了,後來改成陣列就比較明朗了,但是思路沒變,可能鍊錶用的還是...