單鏈表公升序排列

2021-09-28 19:05:23 字數 2102 閱讀 8689

網上看了很多**,這裡是自己的一點思考

氣泡排序的思想很好理解,於是我想採用氣泡排序的方法,但是涉及到第二重迴圈的終止條件,思考了很久,得出以下方法。

詳細**:

main主程式:

#include"linklist.h"

int main()

linklist;

void createlistf(linklist *&l,elemtype a,int n);//頭插法建立單鏈表

void createlistr(linklist *&l,elemtype a,int n);//尾插法建立單鏈表

void initlist(linklist *&l); //初始化線性表

void destroylist(linklist *&l); //銷毀線性表

bool listempty(linklist *l); //判斷線性表是否為空

int listlength(linklist *l); //求線性表長度

void displist(linklist *l); //輸出線性表

bool getelem(linklist *l,int i,elemtype &e); //求線性表某個資料元素值

int locateelem(linklist *l,elemtype e); //按元素值查詢

bool listinsert(linklist *&l,int i,elemtype e); //插入資料元素

bool listdelete(linklist *&l,int i,elemtype &e); //刪除資料元素

bool merge(linklist *&l);

#endif // linklist_h_included

函式:

#include "linklist.h"

void createlistf(linklist *&l,elemtype a,int n)//頭插法建立單鏈表

}void createlistr(linklist *&l,elemtype a,int n)//尾插法建立單鏈表

r->next=null; //終端結點next域置為null

}void initlist(linklist *&l)

void destroylist(linklist *&l)

free(p); //此時q為null,p指向尾結點,釋放它

}bool listempty(linklist *l)

int listlength(linklist *l)

return(i);

}void displist(linklist *l)

printf("\n");

}bool getelem(linklist *l,int i,elemtype &e)

if (p==null) //不存在第i個資料結點

return false;

else //存在第i個資料結點

}int locateelem(linklist *l,elemtype e)

if (p==null)

return(0);

else

return(n);

}bool listinsert(linklist *&l,int i,elemtype e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點*p

}bool listdelete(linklist *&l,int i,elemtype &e)

if (p==null) //未找到位序為i-1的結點

return false;

else //找到位序為i-1的結點*p

}bool merge(linklist *&l)

s = s->next;

q = q->next;}}

return true;

}}

公升序排列demo

資料檔案中,如果按照第一列公升序排列,當第一列相同時,第二列公升序排列 如果當第一列相同時,求出第二列的最小值 自定義型別mynewkey實現了writablecomparable的介面,該介面中有乙個compareto 方法,當對key進行比較時會呼叫該方法,而我們將其改為了我們自己定義的比較規則...

單鏈表的合併(交叉合併,公升序合併)

單鏈表的合併情況有如下幾種 1 length l1 length l2 2 length l1 length l2 3 length l1 交叉合併的重點在交叉,不保證合併後的資料是有序的 公升序單鏈表合併的重點在公升序,可以保證合併後的資料是公升序的,但是前提是輸入的鍊錶是公升序的 include...

python公升序排列列表

給定list 2,9,6,45,13 使她公升序排列 第一想法是氣泡排序,乙個乙個進行比較。這恰恰不符合python簡單優雅的宗旨,還沒從面向過程轉移到物件導向的思路上轉移過來 在python中,我們不必要重複造輪子,函式方法,以及第三方庫一定要好好的利用 sort 與sorted 方法的區別 方法...