排序算法

1.冒泡排序

void bubble_sort(int arr[], int num)
{
    for(int i=0;i<num-1;i++){         //一共进行num-1趟比较
        for(int j=0;j<i+1;j++){       //这里用i+1可以加快效率 
            if (arr[j]>arr[j+1]){     //如果前面的数大于后面的数
                int t=arr[j];         //交换两个数的位置,使小数下沉
                arr[j]=arr[j+1];
                arr[j+1]=t;
            }
        }
    } 
}

2.选择排序

void select_sort(int array[],int n) //形参array是数组名,n为数组的大小 
{
    int i,j,k,t;
    for(i=0; i<n-1; i++)
    {
        k=i;       //先令第i个为最小,k用来记录最小元素的下标 
        for(j=i+1; j<n; j++){ //从第i+1个元素到最后一个元素遍历一遍 
            if(array[j]<array[k]){ //如果发现了有比array[k]更小的元素 
                k=j;               //得到k为最小
            }
        }                 
        t=array[k];        //交换a[i]和a[k]
        array[k]=array[i];
        array[i]=t;
        
    }
    return;
}

3.归并排序

原文地址:https://www.cnblogs.com/michaeljunlove/p/3883543.html