#include <stdio.h>
#include <stdlib.h>
#define MAX 1000
void printList(int list[], int n) {
int i;
for (i = 0; i < n; i++) {
printf("%d ", list[i]);
}
printf("\n");
}
void insertSort(int list[], int n) {
int i, j, temp;
for (i = 1; i < n; i++) {
if (list[i] < list[i - 1]) {
temp = list[i];
for (j = i - 1; j >= 0 && list[j] > temp; j--) {
list[j + 1] = list[j];
}
list[j + 1] = temp;
}
printList(list, n);
}
}
void selectSort(int list[], int n) {
int i, j, min, num;
for (j = 0; j < n - 1; j++) {
min = list[j];
num = j;
for (i = j; i < n; i++) {
if (min > list[i]) {
min = list[i];
num = i;
}
}
int t;
t = list[j];
list[j] = list[num];
list[num] = t;
printList(list, n);
}
}
void bubbleSort(int list[], int n) {
int i, j, temp;
int flag;
for (i = 1; i < n; i++) {
flag = 0;
for (j = 0; j < n - i; j++) {
if (list[j] > list[j + 1]) {
temp = list[j];
list[j] = list[j + 1];
list[j + 1] = temp;
flag = 1;
}
}
if (!flag)
break;
printList(list, n);
}
}
int main() {
int i, n;
int a[MAX];
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("insertSort:\n");
insertSort(a, n);
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("selectSort:\n");
selectSort(a, n);
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &a[i]);
}
printf("bubbleSort:\n");
bubbleSort(a, n);
return 0;
}
标签:temp,int,scanf,list,++,num,排序
From: https://blog.51cto.com/u_16030624/6535878