常用算法
程序员文章站
2022-07-12 13:15:31
...
排序:
- 交换排序
- 选择排序
- 插入排序
- 堆排序
- 桶排序。
不稳定的排序方法包括:快速排序,希尔排序, 堆排序, 选择排序
查找:
1. 顺序查找
2. 二分查找
3. 插值查找
4. 斐波那契查找
5. 树表查找
6. 分块查找
7. 哈希查找最短路
AOR
AOE
最小生成树
shell排序:
#include<stdio.h>
void InsertSort(int k[],int n){
int j = 0 ;
int gap = n ;
do{
gap = gap/3 + 1 ;
for(int i=gap;i<n;i++){
if(k[i]<k[i-gap]){
int temp = k[i] ;
for(j=i-gap;k[j]>temp;j-=gap){
k[j+gap] = k[j] ;
}
k[j+gap] = temp ;
}
}
}while(gap>1) ;
}
int main(){
int i , a[10] = {5,2,6,0,3,9,1,7,4,8} ;
InsertSort(a,10) ;
printf("排序后的结果是: ") ;
for(i=0;i<10;i++){
printf("%d ",a[i]) ;
}
printf("\n\n") ;
return 0 ;
}