C++版本
#include <bits/stdc++.h>
using namespace std;
void selectSort(int a[],int n)
{
for(int i=0;i<n;i++)
{
int mindex=i;//标记当前最小值的下标
for(int j=i+1;j<n;j++)
{
if(a[j]<a[mindex])
{
mindex=j;
}
}
swap(a[i],a[mindex]);
}
}
void show(int a[],int n)
{
for(int i=0;i<n;i++)
{
if(i==0)
cout<<a[i];
else
cout<<" "<<a[i];
}
cout<<endl;
}
int main()
{
int a[]={1,5,6,3,24,8,15,32,4,62,4,8,6,0,1,2,3,1,1,2};
int n=sizeof(a)/4;
selectSort(a,n);
show(a,n);
return 0;
}
Java版本
package Xiaojian.java.coding.day131;
import java.util.Arrays;
import java.util.Random;
public class selectSort {
public static void main(String[] args) {
Random random = new Random();
int[] arr = new int[15];
for (int i = 0; i < 15; i++) {
arr[i]=random.nextInt(20);
}
System.out.println("未进行排序的数组初始状态:");
for (int i = 0; i < arr.length; i++) {
System.out.print(arr[i]+" ");
}
System.out.println();
System.out.println("进行排序后的数组如下:");
selectSort(arr);
}
//选择排序
public static void selectSort(int[] a ) {
for (int i = 0; i < a.length; i++) {
int mindex = i;
for ( int j = i+1; j <a.length ; j++) {
if (a[j]<a[mindex]) {
mindex=j;
}
}
int temp=a[mindex];
a[mindex]=a[i];
a[i]=temp;
}
//输出排序好的数组
for (int i = 0; i < a.length; i++) {
System.out.print(a[i]+" ");
}
System.out.println();
}
}
实验成果截图