21xrx.com
2024-05-20 17:17:09 Monday
登录
文章检索 我的文章 写文章
C++ 简单排序算法
2023-07-05 07:44:01 深夜i     --     --
C++语言 排序算法 简单排序 冒泡排序 选择排序

排序算法是计算机科学领域中的基础算法之一。在实际开发中,我们经常需要对数据进行排序,以便于我们更好地处理数据或者查找数据。这时候,就需要使用排序算法来实现。

在 C++ 中,实现排序算法非常简单。下面就介绍一些简单的排序算法。

1. 冒泡排序

冒泡排序是一种交换排序算法,它通过相邻元素的比较和交换来把大的元素“冒泡”到数组的末尾,把小的元素“沉”到数组的前端。在冒泡排序的每一轮中,都会选择最大的元素并把它放在对应的位置上。

使用 C++ 实现冒泡排序可以像这样:


void bubbleSort(int *arr, int len) {

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

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

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

        int temp = arr[j];

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

        arr[j + 1] = temp;

      }

    }

  }

}

2. 选择排序

选择排序是一种简单的排序算法,在排序过程中,通过选择最小的元素来将数组排序。选择排序的基本思想是:每一轮找到未排序部分中最小的元素并将其放到已排序部分的末尾。选择排序的时间复杂度为 O(n^2),不适用于大规模数据的排序。

使用 C++ 实现选择排序可以像这样:


void selectionSort(int *arr, int len) {

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

    int minIndex = i;

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

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

        minIndex = j;

      

    }

    if (minIndex != i) {

      int temp = arr[minIndex];

      arr[minIndex] = arr[i];

      arr[i] = temp;

    }

  }

}

3. 插入排序

插入排序是一种排序算法,它将元素一个一个插入到已排好序的部分中。插入排序的时间复杂度为 O(n^2),对于小规模数据的排序非常有效。

使用 C++ 实现插入排序可以像这样:


void insertionSort(int *arr, int len) {

  for (int i = 1; i < len; i++) {

    int temp = arr[i];

    int j = i - 1;

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

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

      j--;

    }

    arr[j + 1] = temp;

  }

}

以上就是 C++ 中的一些简单的排序算法。在实际开发中,根据不同的需求,我们可以选择不同的排序算法来实现数据的排序。

  
  

评论区

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