//鍊錶有序插入和刪除最重要的是預判,就是判斷下乙個是否滿足要求,因為如果只是判斷當前,那麼當你找到要操作的節點時,已經過了指向該節點的指標
//刪除的時候注意釋放空間
#include
#include
typedef
struct
list
list;
void insert_list_2nd(list*head,int data);//
表頭插入
void insert_list_last(list*head,int data);//
表尾插入
void insert_list_order(list*head,int data);//
有序插入
void delete_list(list*head,int value);//
從鍊錶中刪除元素
void print_list(list*head);//
列印鍊錶
intmain()
void insert_list_2nd(list*head,int
data)
void insert_list_last(list*head,int
data)
head->next=newnode;
}void insert_list_order(list*head,int
data)
while(head->next && head->next->dataif(head->next==null)//要插入的數是最大的
else//找到要插入的位置,未在最後 */
newnode->next=head->next;
head->next=newnode; }
void delete_list(list*head,int
value)
if(head->next==null)
p=head->next;
head->next=head->next->next;
free(p);
}void print_list(list*head)
}
排序的常見的三種方法 冒泡法 選擇法 插入法
int tmp for int i 0 i arr.length 1 i 選擇排序就是從第一趟開始,用第乙個元素和剩下中的每乙個元素比較,如果比第乙個小,就和第乙個元素交換值,最後使得第乙個元素中的值最小,第二趟選擇出第二小的放到第二元素,依次,使得陣列有序。int tmp int minindex...
C語言中冒泡法 選擇法 插入法三種常見排序演算法分析
一 冒泡法 起泡法 演算法要求 用起泡法對10個整數按公升序排序。演算法分析 如果有n個數,則要進行n 1趟比較。在第1趟比較中要進行n 1次相鄰元素的兩兩比較,在第j趟比較中要進行n j次兩兩比較。比較的順序從前往後,經過一趟比較後,將最值沉底 換到最後乙個元素位置 最大值沉底為公升序,最小值沉底...
鍊錶的基本操作,建立,測長,刪除,列印,插入
老早就想自己寫寫鍊錶的基本操作的實現,寫寫來練練手。include include includeusing namespace std typedef struct nodenode 鍊錶的建立 node createlist int n head head next 第乙個有資料的給頭指標 p1...