1、冒泡排序
冒泡排序思想:两两比较待排序记录的关键字,发现两个记录的次序相反时即进行交换,直到没有反序的记录为止。(从第一个数开始比较)
int a[12] = {30, 21, 13, 37, 43, 23, 34, 53, 66, 72, 99, 95};
int index2 = 0;
for (int index1 = 0; index1 < 12; index1++) {
// 取出第(n+1)个数与前者进行比较
// 比较完第一轮,将最大的数置顶,就好比是气泡一样
for (index2 = index1+1 ; index2 < 12; index2++) {
int variable = 0;
if (a[index1] < a[index2]) {
variable = a[index1];a[index1] = a[index2];a[index2] = variable;
}}
}
2、插入排序
插入排序实现思想:在已排好的序列中用顺序法查找插入位置,找到后将该位置原来的记录及其后面所有记录顺序后移一个位置,空出该位置来插入新纪录
int i, j;
for (i = 1; i < 12; i++) {
if (a[i] < a[i - 1]) // 如果前一个数大于后一个数{
int temp = a[i]; // 保存值
for (j = i - 1; j >= 0 && a[j] > temp; j--) {
a[j + 1] = a[j];}
a[j + 1] = temp;}
}