经典排序之选择排序

简介:

复制代码
#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








本文转自NewPanderKing51CTO博客,原文链接:http://www.cnblogs.com/newpanderking/archive/2012/03/25/2416477.html ,如需转载请自行联系原作者




相关文章
|
算法 搜索推荐 API
算法排序3——选择排序
算法排序3——选择排序
112 0
算法排序3——选择排序
|
搜索推荐 算法 Java
排序:冒泡排序(算法)
冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 这个算法的名字由来是因为越大的元素会经由交换慢慢“浮”到数列的顶端,故名。
273 0
排序:冒泡排序(算法)
|
算法 搜索推荐 Java
排序:选择排序(算法)
排序就是算法。   选择排序(Selection sort)是一种简单直观的排序算法。 选择排序是不稳定的排序方法。   eg:序列[9,9, 1]第一次就将第一个[9]与[1]交换,导致第一个9挪动到第二个9后面 Note:一般面试的时候才会用到选择、冒泡排序。
269 0
排序:选择排序(算法)
|
算法 JavaScript 人工智能
|
机器学习/深度学习 人工智能
|
算法 Shell 人工智能
|
人工智能 移动开发