`
seara
  • 浏览: 623034 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

选择排序(selection sort)算法实现

阅读更多
从字面上理解,就是通过不断地选择数组元素,从而达到排序的目的。我插入排序类似,假设第i(i<n)个数组元素data[0]是最大的(从大到小排序),然后依次扫描i + 1 到 n - 1的元素,找到比第i个元素大的元素。最后将它们交换。
算法的时间复杂度为O(n^2)

算法的实现如下
<!--<br /> <br /> Code highlighting produced by Actipro CodeHighlighter (freeware)<br /> http://www.CodeHighlighter.com/<br /> <br /> -->#include<stdio.h>

voidoutput_array(intdata[],intn)
{
inti;
for(i=0;i<n;i++)
printf(
"%d",data[i]);
printf(
"\n");
}
voidswap(int*a,int*b)
{
intx;
x
=*a;
*a=*b;
*b=x;
}
//算法实现
voidselection(intdata[],intb,inte)
{
inti,j,high_index;
for(i=b;i<e;i++)
{
high_index
=i;
for(j=e;j>i;j--)
if(data[j]>data[high_index])
high_index
=j;
swap(
&data[i],&data[high_index]);
}
}
intmain()
{
intdata[]={5,3,1,665,77,66,44,11,10,9,8,6};
output_array(data,
12);
selection(data,
0,11);
output_array(data,
12);
return0;
}


国内最棒的Google Android技术社区(eoeandroid),欢迎访问!

《银河系列原创教程》发布

《Java Web开发速学宝典》出版,欢迎定购

分享到:
评论

相关推荐

    基于python的排序算法-选择排序Selection Sort

    基于python的排序算法-选择排序Selection Sort

    排序算法-基于C语言实现的排序算法之SelectionSort实现.zip

    排序算法 排序算法_基于C语言实现的排序算法之SelectionSort实现

    经典算法的C#源码实现

    经典排序算法 - 选择排序Selection sort 经典排序算法 - 鸡尾酒排序Cocktail sort 经典排序算法 - 希尔排序Shell sort 经典排序算法 - 堆排序Heap sort序 经典排序算法 - 地精排序Gnome Sort 经典排序算法 - ...

    python常用排序算法汇总

    # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort.quickSort() #快速排序 该排序算法把每次的排序结果都列出来,可供初学者学习。 self.arr存放的是待排序...

    C#-基于C#实现的选择排序算法-Selection-Sort.zip

    C#_基于C#实现的选择排序算法_Selection-Sort

    Java数据结构及算法实例:选择排序 Selection Sort

    主要介绍了Java数据结构及算法实例:选择排序 Selection Sort,本文直接给出实现代码,代码中包含详细注释,需要的朋友可以参考下

    几种常见排序算法实现

    1.1 SelectionSort:每次选出最下的元素,放在当前循环最左边的位置。 1.2 BubbleSort:每次比较相邻的两个数,使得最大的数像气泡一样冒到最右边。 1. 3 InsertionSort:每次拿起一个数,插入到它左边数组的正确...

    Java排序算法实现:冒泡与选择排序示例代码

    选择排序(Selection Sort) 是另一种简单的排序算法,它通过多次遍历数组,在每一轮中选择最小的元素,并将其放置在已排序部分的末尾。选择排序的实现同样通过嵌套的循环来找到最小元素并进行交换。 这些示例代码...

    简单的C++排序算法

    选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是:第一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后再从剩余的未排序元素中寻找到最小(大)元素,然后放...

    七大排序算法--c语言是实现

    七大排序算法如下: 交换排序:快速排序quicksort,冒泡排序bubblesort...选择排序:直接选择排序selectionsort,堆排序maxheapsort 插入排序:直接插入排序insertsort,希尔排序shellsort 合并排序:归并排序mergesort

    java十大排序算法实现

    java十大排序算法实现 1. 冒泡排序(Bubble Sort) 2. 选择排序(Selection Sort) 3. 插入排序(Insertion Sort) 4. 快速排序(Quick Sort) 5. 归并排序(Merge Sort) 6. 堆排序(Heap Sort) 7. 计数排序...

    Java常见经典算法详解-选择排序(Selection Sort)

    选择排序(Selection Sort)算法简介:  选择排序是利用逐个选择的方式进行排序,逐个选择出数组中的最小(或最大)的元素,顺序放在已排好序的序列后面,直到全部记录排序完毕。 选择排序(Selection Sort)算法原理:...

    java实现选择排序算法

    selectionSort 方法实现了选择排序算法。通过嵌套的循环遍历数组,在每一次外层循环中,找到未排序部分的最小元素,并将其与当前未排序部分的第一个元素进行交换,从而逐步将最小元素放到已排序部分的末尾。

    PHP排序算法之简单选择排序(Simple Selection Sort)实例分析

    本文实例讲述了PHP排序算法之简单选择排序(Simple Selection Sort)。分享给大家供大家参考,具体如下: 基本思想: 通过 n – i 次关键字间的比较,从 n – i + 1 个记录中选出关键字最小的记录,并和第 i (1 &lt;=...

    Java实现的选择排序

    选择排序(Selection Sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序是不稳定的排序...

    Python实现的选择排序算法示例

    选择排序(Selection sort)是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,直到全部待排序的数据元素排完。 选择排序每次只记录最大数...

    Java中的经典算法之选择排序(SelectionSort).zip_java_java编程

    java经典算法:选择排序,原理:每一趟从待排序的记录中选出最小的元素,顺序放在已排好序的序列最后,直到全部记录排序完毕。

    python实现五种常见排序算法

    以下是用Python实现的五种常见排序算法: 1. 冒泡排序(Bubble Sort): ```python def bubble_sort(arr): n = len(arr) for i in range(n): for j in range(0, n-i-1): ...2. 选择排序(Selection Sort): 等等

    常用算法(python)

    选择排序(Selection Sort) 插入排序(Insertion Sort) 希尔排序(Shell Sort) 归并排序(Merge Sort) 快速排序(Quick Sort) 堆排序(Heap Sort) 计数排序(Counting Sort) 基数排序(Radix Sort) 桶排序...

    PHP简单选择排序(Simple Selection Sort)算法学习

    算法实现: &lt;?php //简单选择排序 //交换函数 function swap(array &$arr,$a,$b){ $temp = $arr[$a]; $arr[$a] = $arr[$b]; $arr[$b] = $temp; } //简单选择排序算法 function SelectSort(array

Global site tag (gtag.js) - Google Analytics