需求:
排序前:{4,6,8,7,9,2,10,1 };
排序后:{1,2,4,6,7,8,9,10};
排序原理:
1、每一次遍历的过程中,都嘉定第一个索引处的元素是最小值,和其他索引处的值依次进行比较,如果当前索引处的值大于其他某索引处的值,则假定其他某个索引处的值为最小值,最后可以找到最小值所在的索引
2、交换第一个索引处和最小值所在的索引处的值
#include<iostream>
using namespace std;
void swap(int Arr[],int i, int j)
{
int temp = Arr[i];
Arr[i] = Arr[j];
Arr[j] = temp;
}
int main()
{
int arr[] = { 4,6,8,7,9,2,10,1 };
int len = sizeof(arr) / sizeof(arr[0]);
for (int i = 0;i <= len - 2;i++)
{
int minIndex = i;
for (int j = i + 1;j < len;j++)
{
if (arr[minIndex] > arr[j])
{
minIndex = j;
}
}
swap(arr, i, minIndex);
}
for (int i = 0;i < len;i++)
{
if (i != len)
{
cout << arr[i] << ",";
}
else
{
cout << arr[i] << "";
}
}
cout << endl;
system("pause");
return 0;
}