C语言「抄作业」系列之选择排序
#include <stdio.h>
#include <conio.h>
#define ARR_LEN 255 /*数组长度上限*/
#define elemType int /*元素类型*/
/*打印数组*/
/* elemType arr[]: 打印目标数组; int len: 元素个数 */
void printArray (elemType arr[], int len) {
int i;
for (i=0; i<len; i++)
printf ("%d ", arr[i]);
putchar ('n');
}
/* 选择排序 */
/* 1. 将初始数组分为两段,前段为已排序数组,后段为未排序数组 */
/* 2. 在未排序数组中寻找最值元素,将其放到已排序数组的末尾 */
/* 3. 对所有元素均重复以上步骤,直至最后一个元素 */
/* elemType arr[]: 排序目标数组; int len: 元素个数 */
void selectionSort (elemType arr[], int len) {
elemType temp;
int i, j, k;
for(i=0; i<len-1; i++) {
/*外循为排序趟数,len个数进行len-1趟 */
k = i; /* 假设当前趟的第一个数为最小值,其下标记在k中(