冒泡排序法之个人初步见解

    xiaoxiao2021-03-25  132

    冒泡排序法

    冒泡排序法是用来给一组数据按大小(或者其他的规则?)排序的一种实用的算法 本算法主要由两个循环和一个判断组成

    p.s 循环常使用for嵌套

    例子 给数组int a[10]按数值从大到小排序

    for(i=0;i<size-1;i++) //对size-1个数进行排序(最后一次仅剩下一个数不需要再比较) for(j=0;j<size-1-i;j++) //第二层运行size-1-i次,将该次排序的数与其下面的数比较 if(a[j]<a[j+1]) { int t=a[j]; a[j]=a[j+1]; a[j+1]=t; } //把较小的数与下一位进行交换并按此顺序继续比较

    从小到大把if语句中的“<”改为“>”即可,原理很简单,我自己应该能想明白。

    可参考《C++程序设计(第三版)》(谭浩强 著) p128

    P.S

    3月8日上机作业sort函数(按从大到小交换结构体Student数组)

    void sort(Student a[]) { int i,j; for(i=0;i<2;i++) for(j=0;j<2-i;j++) if(a[j].score<a[j+1].score) { Student x; x=a[j]; a[j]=a[j+1]; a[j+1]=x; } }
    转载请注明原文地址: https://ju.6miu.com/read-24563.html

    最新回复(0)