C++常规算法

xiaoxiao2021-02-28  88

最近在阅读《数据结构(c++语言版)》,所以在这里总结一下

起泡排序

void bubblesort1A(int A[], int n) { //起泡排序算法(版本1A):0 <= n bool sorted = false; //整体排序标志,首先假定尚未排序 while (!sorted) { //在尚未确讣已全尿排序乀前,逐趟迕行扫描交换 sorted = true; //假定已经排序 for (int i = 1; i < n; i++) { //自左向右逐对检查弼前范围A[0, n)内癿各相邻元素 if (A[i - 1] > A[i]) { //一旦A[i - 1]不A[i]逆序,则 swap(A[i - 1], A[i]); //交换之,幵 sorted = false; //因整体排序丌能保证,需要清除排序标志 } n--; //至此末元素必然就位,故可以缩短待排序序列癿有效长度 } } }

转载请注明原文地址: https://www.6miu.com/read-69644.html

最新回复(0)