1、冒泡排序
void bubble_sort(int arr[], int len)
{
//没有排序完毕
bool flag = true;
for(int i = 0; i < len && flag; i++)
{
//认为已经有序了
flag = false;
for(int j = len - 1; j > i; j--)
{
if(arr[j] < arr[j-1])
{
flag = true;
int tmp = arr[j];
arr[j] = arr[j-1];
arr[j-1] = tmp;
}
}
}
}
2、选择排序
void select_sort(int arr[], int len)
{
for(int i=0; i<len; i++)
{
int min = i;
for(int j=min+1; j<len; j++)
{
if(arr[j] < arr[min])
{
min = j;
}
}
if(min != i)
{
int tmp = arr[i];
arr[i] = arr[min];
arr[min] = tmp;
}
}
}
3、插入排序
基本思想:将整个数组a分为有序和无序的两个部分。前者在左边,后者在右边。开始有序的部分只有a[0] , 其余都属于无序的部分。每次取出无序部分的第一个(最左边)元素,把它加入有序部分。假设插入合适的位置p,则原p位置及其后面的有序部分元素都向右移动一个位置,有序的部分即增加了一个元素。一直做下去,直到无序的部分没