简单的排序---选择排序

C++
#include<iostream>
void display(int arr[],int n);
void selection_sort(int arr[],int n);
using namespace std;
int main()
{ 	
	int arr[]={9,8,7,6,5,3,2,1};
	display(arr,sizeof(arr)/sizeof(int));
	selection_sort(arr,sizeof(arr)/sizeof(int));
	display(arr,sizeof(arr)/sizeof(int));
	return 0;
}
void selection_sort(int arr[],int n)
{
	for(int i=0;i<n-1;i++)
	{
		//找到没有排序部分最小值的位置
		int min=i;
		for(int j=i+1;j<n;j++)
		if(arr[j]<arr[min])
		min=j;
		//如果最小值位置不是开始要放的位置,交换
		if(i!=min)
		{
			int temp=arr[i];
			arr[i]=arr[min];
			arr[min]=temp;
		}
	}
}

void display(int arr[],int n)
{
	for(int i=0;i<n;i++)
	{
		cout<<arr[i]<<" ";
	}
	cout<<endl;
}
点赞