码迷,mamicode.com
首页 > 编程语言 > 详细

[算法天天练]选择排序法

时间:2015-04-15 13:13:45      阅读:142      评论:0      收藏:0      [点我收藏+]

标签:

#include<stdio.h>

void show(int arr[], int length)
{
	for(int i=0; i<length; i++)
	{
		printf("%d ", arr[i]);
	}	
	printf("\n");
}

void _swap(int *a, int *b)
{
	int tmp = *a;
	*a = *b;
	*b = tmp;
}

void SelectSort(int arr[], int length)
{
	size_t i,j;
	int min;
	
	for(i=0; i<length-1; i++)
	{
		//假设arr[i]为最小的数
		min = arr[i];
		
		//通过循环获取数组中剩余数中的最小数
		for(j=i+1; j<length; j++)
		{
			if(min > arr[j])
			{
				_swap(&min, &arr[j]);
			}
		}
		
		//将最小的数放到正确的位置
		if(arr[i] != min)
		{
			 _swap(&arr[i],&min);
		}
	}
}

int main()
{
	int arr[10] = {2,1,5,4,3,9,8,7,6,0};
	SelectSort(arr,10);	
	show(arr, 10);
	return 0;
	
}

  

[算法天天练]选择排序法

标签:

原文地址:http://www.cnblogs.com/eternal1025/p/4427963.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!