一、问题呈现
Problem Description
给定数组元素为:3,44,38,5,47,15,36,26,27,2,46,4,19,50,48。使用选择排序对其进行升序排序。
#include<stdio.h>
void Swap(int* a, int* b)
{
int temp = 0;
if (a > b)
{
temp = *a;
*a = *b;
*b = temp;
}
}
void sort(int a[], int len)
{
int i, j;
for (int i = 0; i < len - 1; i++)
{
int max = i;
for (int j = i+1; j < len ; j++)
{
if (a[j] < a[max])
{
max = j;
}
}
Swap(&a[max], &a[i]);
}
}
int main() {
int a[] = { 3,44,38,5,47,15,36,26,27,2,46,4,19,50,48 };
int len = sizeof(a) / sizeof(int);
sort(a, len);
for (int i = 0; i < len ; i++)
{
printf("%d ", a[i]);
}
return 0;
}