B 實驗11 10 鍊錶排序

2021-09-12 21:20:04 字數 1190 閱讀 1117

題目描述

問題描述:已知乙個正整數組成的無序序列,個數未知,但至少有乙個元素,你的任務是建立乙個單鏈表,並使用該鍊錶儲存這個正整數序列,然後將這個鍊錶進行排序,使得排序後的鍊錶為遞增序列。正整數的輸入用-1作為結束標誌,注意-1不算這個正整數序列中的元素(不要統計-1)。在排序的過程中,你可以自己選擇排序演算法(氣泡排序、選擇排序等),但必須是通過修改結點的指標域來進行排序,而不是對結點的資料域進行修改。程式結束後要釋放所有節點佔據的空間。

輸入與輸出要求:輸入乙個元素個數未知的正整數序列,以輸入「-1」結束,輸入「-1」前至少輸入乙個正整數。輸出經過排序後的鍊錶,每個元素後有乙個空格,注意最後乙個元素後只有換行符。

資料最多的測試用例節點數在1000這個數量級,所有整數可以用int型儲存。

請注意輸入輸出格式。

輸入樣例

49 38 65 97 76 13 27 49 -1
輸出樣例

the new list is:13 27 38 49 49 65 76 97
#include#includestruct node//鍊錶結構

;typedef struct node node;//重新命名

node * createnode();//建立鍊錶函式

void freelist(node * head);//釋放鍊錶函式

void bubblesort(node * head);//氣泡排序

int cnt;//記錄元素個數

int main()

} }freelist(temp);//釋放

temp = null;

return 0;

}node * createnode()//建立乙個含有頭節點的鍊錶

scanf("%d", &num);

} last->next = null;

return head;

}void freelist(node * head)

}void bubblesort(node * head)//氣泡排序,適用於有頭節點的鍊錶,否則第乙個元素將無法參與排序

else

p = p->next;

pre = pre->next;

} tail = p;

}}

B 資料結構實驗之鍊表二 逆序建立鍊錶

b 資料結構實驗之鍊表二 逆序建立鍊錶description 輸入整數個數n,再輸入n個整數,按照這些整數輸入的相反順序建立單鏈表,並依次遍歷輸出單鏈表的資料。input 第一行輸入整數n 第二行依次輸入n個整數,逆序建立單鏈表。output 依次輸出單鏈表所存放的資料。input 10 11 3 ...

鍊錶 排序鍊錶

樂扣原題 definition for singly linked list.public class listnode class solution 將鍊錶轉化為陣列 listlist new arraylist while null head 陣列遞增排序 collections.sort li...

實驗二B分數排序

程式設計思維作業和實驗使用的實 測系統,具有及時獲得成績排名的特點,那它的功能是怎麼實現的呢?我們千辛萬苦懟完了不忍直視的程式並提交以後,評測系統要麼返回ac,要麼是返回各種其他的錯誤,不論是怎樣的錯法,它總會給你記上一筆,表明你曾經在這兒被坑過,而當你歷經千辛終將它ac之後,它便會和你算筆總賬,表...