編譯平台:vs2010
#include "stdafx.h"
int _tmain(int argc, _tchar* argv)
; int j,tmp;
for(int i = 1;i<8;i++)
a[j+1] = tmp;
}for(int i = 0;i<8;i++)
printf("\n");
system("pause");
return
0;}
#include "stdafx.h"
void shellsort(int a,int n)
a[j+gap] = tmp;
}gap = gap/2;
}}int _tmain(int argc, _tchar* argv)
; int n = 8;
for(int i =0;iprintf("%d ",a[i]);
}printf("\n");
system("pause");
return
0;}
#include "stdafx.h"
void choicesort(int a,int n)
}}int _tmain(int argc, _tchar* argv)
; choicesort(a,8);
for(int i =0;i<8;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return
0;}
#include "stdafx.h"
void siftdown(int a,int i,int n)else
done = true;
}}void makeheap(int a,int n)
for(int i = 1;i<=n;i++)
printf("\n");
}void heapsort(int a,int n)
for(int i = 1;i<=n;i++)
printf("\n");
}void siftup(int a,int i)else
i=i/2;
}}int _tmain(int argc, _tchar* argv)
; makeheap(a,a[0]);
/*heapsort(a,8);*/
system("pause");
return
0;}
#include "stdafx.h"
int _tmain(int argc, _tchar* argv)
,tmp;
for(int i = 0;i<8;i++)
printf("\n");
system("pause");
return
0;}
#include "stdafx.h"
void quicksort(int a,int s,int t)
a[i] = tmp;
quicksort(a,s,i-1);
quicksort(a,i+1,t);
}}int _tmain(int argc, _tchar* argv)
; quicksort(a,0,7);
for(int i = 0
;i<8;i++)
printf("\n");
system("pause");
return0;
}
#include "stdafx.h"
#define maxsize 50
/*對有序的兩段陣列a[p..q]和a[q+1...r]進行合併並排序
*/void merge(int a,int p,int q,int r)else
k++;
}if(s=q+1)
}else
}k=0;
for(int i = p;i<=r;i++)
}void mergesort(int a,int low,int high)
}int _tmain(int argc, _tchar* argv)
; mergesort(a,0,8);
for(int i =0;i<=8;i++)
printf("%d ",a[i]);
printf("\n");
system("pause");
return
0;}
排序
最好最差
平均穩定性
快排nlogn
n^2nlogn否歸併
nlogn
nlogn
nlogn是堆
nlogn
nlogn
nlogn是希爾
n^1.3否冒泡
nn^2
n^2是
直接插入
nn^2
n^2是
直接選擇
n^2n^2
n^2否
各種排序演算法比較以及時間複雜度
1.氣泡排序 n n。倆個for迴圈決定其時間複雜度為n 2 template class t void swap t a,inti,intj 冒泡法bubble sort template class t void bubsort t a,intn 2.選擇排序 n n。同樣,倆個for迴圈決定其...
排序演算法 之希爾排序及時間複雜度分析
希爾排序 演算法思想 將整個待排序列分割成若干個子串行 由相隔增量個元素組成 分別進行直接插入排序,然後依次縮小增量再進行排序,待整個序列中的元素基本有序時,再對全體元素進行一次直接插入排序。希爾排序的實現應該由三個迴圈完成 1 第一次迴圈,將增量d依次折半,直到增量d 1 2 第二三層迴圈,也就是...
各種排序演算法時間複雜度
各種排序演算法比較 各種常用排序演算法 類別排序方法 時間複雜度 空間複雜度 穩定性複雜性 特點最好 平均最壞 輔助儲存 簡單插入 排序直接插入 o n o n2 o n2 o 1 穩定簡單 希爾排序 o n o n1.3 o n2 o 1 不穩定複雜 選擇排序 直接選擇 o n o n2 o n2...