标签:数据结构、算法、系统
//选择排序法
//time :2017.3.8
//author :justing_zhang
/****************************************************************************************/
#include <stdio.h>
void println(int array[], int len)
{
int i = 0;
for(i=0; i<len; i++)
{
printf("%d ", array[i]);
}
printf("\n");
}
//交换两个数组变量
void swap(int array[], int i, int j)
{
int temp = array[i]; //需要中介变量
array[i] = array[j];
array[j] = temp;
}
/************选择排序 算法具体实现*********************/
void SelectionSort(int array[], int len)
{
int i = 0;
int j = 0;
int k = -1;
for(i=0; i<len; i++)
{
k = i; //定义一个游标
for(j=i; j<len; j++) //通过
if( array[j] < array[k] ) //一次循环可以找到最小的元素,
{
k = j;
}
}
swap(array, i, k); //找到后与第一元素调换,第二次与[2]调换
}
}
int main()
{
int array[] = {21, 25, 49, 25, 16, 8};
int len = sizeof(array) / sizeof(*array); //元素长度等与所有元素占用的空间除以每个元素的长度.
println(array, len);
SelectionSort(array, len);//array指向数组的首位之
println(array, len);
return 0;
}
本文出自 “临渊羡鱼,不如退而结网” 博客,请务必保留此出处http://godwithme.blog.51cto.com/12179442/1904510
标签:数据结构、算法、系统
原文地址:http://godwithme.blog.51cto.com/12179442/1904510