排序算法(一)
简介
排序算法就是根据关键字将数据(也叫记录)进行排序的过程。
稳定的排序算法:若记录1和记录2的关键字k1 == k2,在排序之前记录1就排在记录2前面。排序之后记录1仍然排在记录2前面,则这种排序算法稳定。
1. 冒泡排序
冒泡排序的基本原理是将两两相邻记录进行对比,若反序则交换,直到没有反序的相邻记录为止。
1.1 简单的冒泡排序
#include <iostream>
using namespace std;
void BubbleSort(int k[], int n)
{
int count_1 = 0, count_2 = 0;
for (int i = 0; i < n-1; i++)
{
for (int j = i+1; j < n; j++)
{
count_1++;
if (k[i] > k[j])
{
count_2++;
int tmp = k[i];
k[i] = k[j];
k[j] = tmp;
}
}
}
for (int i = 0; i < n; i++)
{