#include
#include
#include
#define swap(a,b)
intorder_find
(int
* arr,size_t len,
int key)
return-1
;}int_binary_find
(int
* arr,size_t l,size_t r,
int key)
intbinary_find
(int
* arr,size_t len,
int key)
return-1
;}// 氣泡排序
void
bubble_sort
(int
* arr,size_t len)}if
(flag)
break;}
}// 插入排序
void
insert_sort
(int
* arr,size_t len)
arr[k]
= t;}}
// 選擇排序
void
select_sort
(int
* arr,size_t len)
if(max != i)
swap
(arr[max]
,arr[i]);
}}void
show_arr
(int
* arr,size_t len)
printf
("\n");
}void
_quick_sort
(int
* arr,size_t left,size_t right)
else
printf("%d ",arr[i]);
} printf("\n"); */
// 左右下標相遇時結束
while
(l < r)
// 在標桿的右邊尋找比它小的資料
while
(pi>= pv) r--;if
(pi// 如果沒有走出範圍,說明找到比標桿小的值
}// 還原標桿的值
arr[pi]
= pv;
//show_arr(arr,10);
if(pi-left >1)
_quick_sort
(arr,left,pi-1)
;if(right-pi >1)
_quick_sort
(arr,pi+
1,right);}
void
quick_sort
(int
* arr,size_t len)
void
creat_heap
(int
* arr,size_t root,size_t len)
if(right < len)
if(max != root)
swap
(arr[max]
,arr[root]);
}void
heap_sort
(int
* arr,size_t len)
}void
merge
(int
* arr,size_t left,size_t pi,size_t right)
while
(i<=pi) temp[k++
]= arr[i++];
while
(j<=right) temp[k++
]= arr[j++];
for(
int i=
0; i<=
(right-left)
; i++)}
void
_merge_sort
(int
* arr,size_t left,size_t right)
void
merge_sort
(int
* arr,size_t len)
intmain()
//bubble_sort(arr,1000);
printf
("----------------------\n");
insert_sort
(arr,10)
;show_arr
(arr,10)
;//select_sort(arr,10);
//quick_sort(arr,10);
//heap_sort(arr,10);
printf
("----------------------\n");
show_arr
(arr,10)
;merge_sort
(arr,10)
;show_arr
(arr,10)
;//show_arr(arr,10);
}
各種排序演算法和查詢演算法
自己實現了一遍氣泡排序 選擇排序 插入排序,留個念想 氣泡排序 簡單來說就是從陣列末端冒泡到陣列當前位置 void bubblesort unsigned char data,unsigned short length 選擇排序 當前位置之後的所有數跟當前位置的數比較,得到最小的數到當前位置 voi...
排序 各種排序演算法
每次將乙個待排序的記錄,按其關鍵字大小插入到前面已經排好序的子表中適當位置,直到全部記錄插入完成為止 待排序的記錄放在陣列r 0,n 1 中 排序過程中將r分成兩個子區間,有序區r 0,i 1 無序區r i,n 1 將當前無序區的第1個記錄,插入到有序區中適當的位置上 每次是有序區增加乙個記錄,知道...
各種排序演算法分析與比較
1.直接插入排序 每一趟將乙個待排序的元素作為關鍵字,按照其關鍵字的大小插入到已經排好的部分序列的適當位置上。平均時間複雜度為o n2 空間複雜度為o 1 void insertsort int r,int n r j 1 temp 2.氣泡排序 平均時間複雜度為o n2 空間複雜度為o 1 voi...