網上看了很多**,這裡是自己的一點思考
氣泡排序的思想很好理解,於是我想採用氣泡排序的方法,但是涉及到第二重迴圈的終止條件,思考了很久,得出以下方法。
詳細**:
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 方法的區別 方法...