C 排序算法 (冒泡)(选择)|(插入)|(快速)
2017-01-13 09:49
169 查看
排序算法
冒泡
2 5 8 6 9 1 7 3 4 5 for(int i=0;i<9;i++){ for(int j=0;j<9-i;j++) { if(a[j]<a[j+1]) } }
选择排序
基准(位置)for(int i=N;i>1;i--) { int max_pos=0; for(int j=0;j<i;j++) { if(a[max_pos]<a[j]) { max_pos=j } SWAP(a[max_pos],a[i-1]); } }
~ 定义宏 swap 替换 #define SWAP(a,b) {int temp; temp=a;a=b;b=temp;}
插入排序
for(int i=0;i<N;i++) { int pos=0;int value=0; for(int j=0;j<i;j++) { if(a[i]<a[j]{ pos=j; value=a[i]; for(k=i-1;k>=j;k--){ a[k+1]=a[k]; } a[pos]=vulue; } } }
quicksort
int partition(int *a, int left,int right) { int i,j,k; k=left; for(i=left;i<right;i++) { if(a[i]<a[right]){ SWAP(a[i],a[k]); k++; } } SWAP(a[i],a[right]); return k; } void quicksort(int *a,int left,int right) { int pivot; pivot=partition(*a,left,right); if(left<right) { quicksort(a,left,pivot-1); quicksort(a,pivot+1,right); } }
相关文章推荐
- 排序算法复习(Java实现):插入,冒泡,选择,Shell,快速排序, 归并排序,堆排序,桶式排序,基数排序
- java 排序算法总结(冒泡,选择,插入,快速)
- 10种排序算法总结(冒泡、选择、插入、希尔、归并、快速、堆、拓扑、锦标赛、基数)
- 常见排序算法(冒泡、选择、插入、快速、归并C++实现)
- 排序算法复习(Java实现)(二): 插入,冒泡,选择,Shell,快速排序
- 排序算法Python(冒泡、选择、快速、插入、希尔、归并排序)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法Python(冒泡、选择、快速、插入、希尔、归并排序)
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,Shell,快速排序
- 排序算法复习(Java实现)(一): 插入,冒泡,选择,快速排序
- 冒泡、快速、直接插入、选择排序算法(Java语言实现)
- 6种排序算法:冒泡、鸡尾酒、选择、插入、归并、快速
- 常用的排序算法:冒泡,简单选择,直接插入,快速排序,堆排序
- 回顾四种常见的排序算法(冒泡,选择,插入,快速)
- 冒泡选择插入快速,四种最基础排序算法实现
- 各种排序算法-Java-冒泡、选择、插入、快速、归并排序
- 小白学数据结构——四、排序算法Python(冒泡、选择、快速、插入、希尔、归并排序)
- 排序算法(冒泡、快速、选择、插入)
- 6种排序算法的简洁实现:冒泡、选择、插入、归并、快速、堆
- C++排序算法总结(冒泡、插入、选择、希尔、归并、快速、堆)