经典排序之选择排序
2012-03-25 12:27
148 查看
#include <stdio.h> int main() { int i,j,index,k; int tem,length; int a[10]={2,24,3,19,45,12,1,66,34,7}; // length = a.length(); length = 10; printf("Before ordered:\n"); for(i = 0; i < length; i++) printf("%d ",*(a+i)); printf("\n\n"); for(i = 0; i < length; i++) { index = i; for(j = i+1; j < length; j++) { if(a[j]>a[index]) index = j; } if(index != i) { tem = a[index]; a[index] = a[i]; a[i] = tem; } printf("The %d time select order:\n",i); for(k = 0; k < length; k++) printf("%d ",*(a+k)); printf("\n\n"); } printf("After ordered:\n"); for(i = 0; i < length; i++) printf("%d ",*(a+i)); printf("\n"); return 0; }选择排序类似于冒泡排序,但是不同之处是,每次找到最大(或最小)的下标然后放在前边,其复杂度o(n)^2
相关文章推荐
- 经典排序之 选择排序
- 经典排序之选择排序
- 白话经典算法系列之二 直接插入排序的三种实现
- 经典算法:快速排序
- 排序算法-之选择排序(直接选择排序,堆排序)
- 白话经典算法系列之二 直接插入排序的三种实现
- 白话经典算法系列之六 快速排序 快速搞定 【转】
- 白话经典算法系列之六 快速排序 快速搞定
- C++——算法基础之排序——选择排序
- JS的十大经典算法排序
- 选择排序,冒泡排序和插入排序使用时间的对比
- 白话经典算法二叉堆排序之思想简介
- 经典排序 之 几种排序比较
- 经典排序之冒泡排序
- 算法系列——七大经典排序3
- 经典排序 图解 代码实现
- 经典排序—插入排序
- 经典排序之插入排序
- java:三种经典大排序汇总,冒泡,插入,选择
- 排序——选择排序