排序算法

2024 年 7 月 15 日 星期一(已编辑)
/ ,
18
1
摘要
排序算法是计算机科学中的基本算法之一。常见的排序算法包括选择排序、冒泡排序、插入排序和快速排序。选择排序通过不断选出数组中的最小元素,将其放到已排序序列的末尾,直到整个数组排序完成。冒泡排序则通过相邻元素的比较和交换来将未排序的元素逐步移动到正确的位置。插入排序是通过构建有序序列,对未排序数据逐个插入的方式来进行排序。快速排序则采用分治法,通过一趟排序将数组分割成独立的两部分,然后分别对这两部分进行排序。
这篇文章上次修改于 2024 年 7 月 15 日 星期一,可能部分内容已经不适用,如有疑问可询问作者。

排序算法

排序算法

排序算法的学习。

1.选择排序

/* 选择排序 */
void selectionSort(int arr[],int arrSize){
    for(int i=0;i<arrSize-1;i++){
        for (int j = i+1;j<arrSize;j++){
            if (arr[i]>arr[j]){
                swap_1(arr,i,j);
            }
        }
    }
    printf("选择排序后:");
    print(arr,arrSize);
}

2.冒泡排序

/* 冒泡排序 */
void bubbleSort(int arr[],int arrSize){
    for(int i = arrSize;i>0;i--){
        for(int j = 1;j<i;j++){
            if (arr[j-1] > arr[j]){
                swap(arr,j-1,j);
            }
        }
    }
    printf("冒泡排序后:");
    print(arr,arrSize);
}

3.插入排序

类比整理扑克牌的过程。

/* 插入排序 */
void insertionSort(int arr[],int arrSize){
    for(int i = 1; i < arrSize;i++){
        int base = arr[i];
        int j = i- 1;
        while(j>=0 && arr[j]>base){
            arr[j+1] = arr[j];
            j--;
        }
        arr[j+1] = base;
    }
    printf("插入排序后:");
    print(arr,arrSize);
}

4.快速排序

未完待续...

使用社交账号登录

  • Loading...
  • Loading...
  • Loading...
  • Loading...
  • Loading...