第一次写博客希望能写的好一点把~~~
回顾了一下几种经典的排序算法:冒泡排序、选择排序、快速排序、插入排序。**
1、冒泡排序(Bubble Sort)
冒泡排序是一种简单的排序算法,它通过从前往后比较相邻元素,使得较大的数向后“冒”。每一趟可以确定一个最大的数。 相当于在末尾不断排一个反向的降序序列。
1.1 算法描述(升序)
- 从前往后比较相邻的元素,如果前一个元素比后一个元素大,则交换。
- 重复上一步,除了最后一个元素(已经是最大的了)。
1.2 代码c++
void bubble_sort(int data[])
{
for (int i = 0;i<n;i++)
{
for (int j= 0;j<n-i-1;j++)
{
if (data[j]>data[j+1])
{
int temp = data[j];
data[j] = data[j+1];
data[j+1] = temp;
}
}
}
}
2、选择排序(Selection Sort)
选择排序是比较直观的排序算法,它的基本思想是:每次选择一个最小的数放到前面已经排好的序列的末尾。与冒泡排序相比,选择排序像是在序列头部逐步排一个正向的升序序列。
2.1 算法描述
设立一个标记k代表当前的位置,从前往后遍历序列,当遍历到第j个元素时,寻找j之后的序列{j,j+1,j+2,…,n}中最小的元素,将其与第j个元素交换位置,直至结束。
2.2 代码c++
void selection_sort