21xrx.com
2024-11-08 21:13:38 Friday
登录
文章检索 我的文章 写文章
C++实现的排序算法
2023-07-08 22:32:09 深夜i     --     --
排序算法 C++编程 算法实现

C++是一种高效的编程语言,在各种应用场景中都有着广泛的应用。而在排序算法领域中,C++也发挥着不可替代的作用。目前,在C++语言中实现的排序算法主要有以下几种:

1. 冒泡排序

冒泡排序是最简单的排序算法之一,其基本思想是将相邻的两个数进行比较和交换,使得大的数往后移。在C++语言中,实现冒泡排序的程序如下:


void bubbleSort(int arr[], int n) {

  int flag = 0;

  for (int i = 0; i < n - 1; i++) {

    flag = 0;

    for (int j = 0; j < n - i - 1; j++) {

      if (arr[j] > arr[j+1]) {

        swap(arr[j], arr[j+1]);

        flag = 1;

      }

    }

    if (flag == 0)

      break;

    

  }

}

2. 选择排序

选择排序是一种简单的排序算法,其思想是每次在未排序的序列中选择最小的元素,并将其放到已排序序列的末尾。在C++语言中,实现选择排序的程序如下:


void selectionSort(int arr[], int n) {

  int min_idx;

  for (int i = 0; i < n - 1; i++) {

    min_idx = i;

    for (int j = i+1; j < n; j++) {

      if (arr[j] < arr[min_idx])

        min_idx = j;

      

    }

    swap(arr[i], arr[min_idx]);

  }

}

3. 插入排序

插入排序是一种简单的排序算法,其思想是将每个序列插入到已排序序列中的正确位置。在C++语言中,实现插入排序的程序如下:


void insertionSort(int arr[], int n) {

  int i, key, j;

  for (i = 1; i < n; i++) {

    key = arr[i];

    j = i - 1;

    while (j >= 0 && arr[j] > key) {

      arr[j+1] = arr[j];

      j = j - 1;

    }

    arr[j+1] = key;

  }

}

总结起来,C++实现的排序算法有很多种,每种算法都有各自的优缺点。在实际应用中,需要根据具体的场景来选择适合的算法,以提高程序效率和性能。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复