wordpress制作分销网站,学前教育网站建设,wordpress分享查看内容,小型电商平台探索C中的常见排序算法
目录
冒泡排序 (Bubble Sort)选择排序 (Selection Sort)插入排序 (Insertion Sort) 冒泡排序 (Bubble Sort)
实现思路#xff1a;
冒泡排序是一种简单直观的排序算法#xff0c;它通过不断交换相邻元素的位置来达到排序的目的。算法的基本思想是重…探索C中的常见排序算法
目录
冒泡排序 (Bubble Sort)选择排序 (Selection Sort)插入排序 (Insertion Sort) 冒泡排序 (Bubble Sort)
实现思路
冒泡排序是一种简单直观的排序算法它通过不断交换相邻元素的位置来达到排序的目的。算法的基本思想是重复遍历要排序的数列每次比较相邻两个元素如果它们的顺序错误就交换它们直到没有再需要交换的元素。
示例代码
#include iostreamvoid bubbleSort(int arr[], int n) {for (int i 0; i n-1; i) {for (int j 0; j n-i-1; j) {if (arr[j] arr[j1]) {std::swap(arr[j], arr[j1]);}}}
}int main() {int arr[] {64, 34, 25, 12, 22, 11, 90};int n sizeof(arr) / sizeof(arr[0]);bubbleSort(arr, n);std::cout Sorted array: ;for (int i 0; i n; i) {std::cout arr[i] ;}return 0;
}选择排序 (Selection Sort)
实现思路
选择排序是一种简单直观的排序算法它的基本思想是每次从待排序的数据元素中选择最小或最大的一个元素将其放在已排序序列的末尾。
示例代码
#include iostreamvoid selectionSort(int arr[], int n) {int i, j, minIndex;for (i 0; i n-1; i) {minIndex i;for (j i1; j n; j) {if (arr[j] arr[minIndex]) {minIndex j;}}std::swap(arr[minIndex], arr[i]);}
}int main() {int arr[] {64, 34, 25, 12, 22, 11, 90};int n sizeof(arr) / sizeof(arr[0]);selectionSort(arr, n);std::cout Sorted array: ;for (int i 0; i n; i) {std::cout arr[i] ;}return 0;
}插入排序 (Insertion Sort)
实现思路
插入排序是一种简单直观的排序算法它的基本思想是通过构建有序序列对于未排序数据在已排序序列中从后向前扫描找到相应位置并插入。
示例代码
#include iostreamvoid 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;}arr[j 1] key;}
}int main() {int arr[] {64, 34, 25, 12, 22, 11, 90};int n sizeof(arr) / sizeof(arr[0]);insertionSort(arr, n);std::cout Sorted array: ;for (int i 0; i n; i) {std::cout arr[i] ;}return 0;
}每个算法都有其适用的场景学会选择合适的排序算法对提高程序效率至关重要。希望能够帮助你更好地理解和使用这些排序算法。