首页 > 其他 > 详细

简单选择排序

时间:2014-09-03 21:18:27      阅读:321      评论:0      收藏:0      [点我收藏+]
#include<iostream>
using namespace std;

int getMinValue(int* input, int i, int len){
	int minIndex = i;
	for(int j=i;j<len;j++){
		if(input[minIndex]>input[j])
			minIndex = j;
	}
	return minIndex;
}

void exchange(int* input, int frist, int second){
	input[frist] = input[frist] + input[second];
	input[second] = input[frist] - input[second];
	input[frist] = input[frist] - input[second];
}

void selectSort(int* input, int len){
	for(int i=0;i<len-1;i++){
		int minIndex = getMinValue(input,i,len);
		if(minIndex!=i)
			exchange(input,i,minIndex);
	}
}

void output(int* input, int len){
	for(int i=0;i<len;i++)
		cout<<input[i]<<" ";
}

void main(){
	int input[] = {12,4,2,1,6,3,11,6,0,-5,1,1};
	int len = sizeof(input)/sizeof(input[0]);
	selectSort(input,len);
	output(input,len);
}

程序运行结果:


bubuko.com,布布扣

简单选择排序

原文:http://blog.csdn.net/huojushou1128/article/details/39033111

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!