#include<stdio.h>
#include<assert.h>
#include<windows.h>
static void swap(int *x, int *y)
{
assert(x);
assert(y);
*x ^= *y;
*y ^= *x;
*x ^= *y;
}
static void show(int arr[], int len)
{
int i = 0;
for (; i < len; i++){
printf("%d ", arr[i]);
}
printf("\n");
}
void selectSort(int arr[], int n)
{
assert(arr);
int i = 0;
for (; i < n; i++){
int minPos = i;
int j = i;
for (; j < n; j++){
if ( arr[j] < arr[minPos] ){
minPos = j;
}
}
if (minPos != i){
swap(&arr[i], &arr[minPos]);
}
}
}
int main()
{
int arr[] = { 12, 23,21,23,1,22,1,43,0,4,56,56,5,45,34,34};
int len = sizeof(arr) / sizeof(arr[0]);
show(arr, len);
selectSort(arr, len);
show(arr, len);
system("pause");
return 0;
}
实现一个选择排序程序,排序整型数组。
最新推荐文章于 2022-05-09 21:01:45 发布