C语言冒泡排序法的实现(升序排序法)分享!

任务代码:

数字的排序:

  #include <stdio.h>     #define SIZE 10  int main()  {    int a[SIZE]={12 ,43,9,13,67,98,101,89,3,35};//十个数的无序数列    int i,j,t;    printf("此程序使用冒泡排序法排列无序数列!n");    //冒泡排序    for(i=0;i<10-1;i++)//n个数的数列总共扫描n-1次    {      for(j=0;j<10-i-1;j++)//每一趟扫描到a[n-i-2]与a[n-i-1]比较为止结束      {        if(a[j]>a[j+1])//后一位数比前一位数小的话,就交换两个数的位置(升序)        {          t=a[j+1];          a[j+1]=a[j];          a[j]=t;        }      }    }       printf("排列好的数列是:n");    //输出排列好得吃数列    for(i=0;i<10;i++)    {         printf("%d ",a[i]);    }    return 0;  }

字符排序:

  #include <stdio.h>     #define SIZE 10  int main()  {    char a[SIZE]={'i','l','o','v','e','y','o','u','y','x'};//十个数的无序数列    int i,j;    char t;    printf("此程序使用冒泡排序法排列无序数列!n");    //冒泡排序    for(i=0;i<10-1;i++)//n个数的数列总共扫描n-1次    {      for(j=0;j<10-i-1;j++)//每一趟扫描到a[n-i-2]与a[n-i-1]比较为止结束      {        if(a[j]>a[j+1])//后一位数比前一位数小的话,就交换两个数的位置(升序)        {          t=a[j+1];          a[j+1]=a[j];          a[j]=t;        }      }    }       printf("排列好的字符组是:n");    //输出排列好得吃数列    for(i=0;i<10;i++)    {         printf("%c ",a[i]);    }    return 0;  }

用函数来解决这个问题:

  #include <stdio.h>        void function(char a[],int);//尤其注意,此处的函数声明必须是char a[],因为这里穿的是地址,不能仅仅使用char     int main()  {    int i;    char a[10]={'i','l','o','v','e','y','o','u','y','x'};//十个数的无序字符数列    printf("此程序使用冒泡排序法排列无序数列!n");    function(a,10);//调用冒泡排序    printf("排列好的字符组是:n");    //输出排列好得吃数列    for(i=0;i<10;i++)    {         printf("%c ",a[i]);    }    return 0;  }     void function(char a[],int m)  {    //冒泡排序    int i,j;    char t;    for(i=0;i<m-1;i++)//n个数的数列总共扫描n-1次    {      for(j=0;j<m-i-1;j++)//每一趟扫描到a[n-i-2]与a[n-i-1]比较为止结束      {        if(a[j]>a[j+1])//后一位数比前一位数小的话,就交换两个数的位置(升序)        {          t=a[j+1];          a[j+1]=a[j];          a[j]=t;        }      }    }    return;  }

执行情况:

C语言冒泡排序法的实现(升序排序法)

C语言冒泡排序法的实现(升序排序法)

知识总结:

冒泡排序法:也叫升序排序法,但是相比起二分法查找只能应用于有序数列,二如何将一个无序数列变的有序就可以使用冒泡排序法!!!

C语言冒泡排序法的实现(升序排序法)

对上面的过程进行总结:

C语言冒泡排序法的实现(升序排序法)

该思想体现在成续上的解法是:

C语言冒泡排序法的实现(升序排序法)

实例:

C语言冒泡排序法的实现(升序排序法)

冒泡排序不仅仅可以应用于数字同样可以应用于字符字母的快速排序:

C语言冒泡排序法的实现(升序排序法)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持<计算机技术网(www.ctvol.com)!!>。

—-想了解C语言冒泡排序法的实现(升序排序法)分享!全部内容且更多的C语言教程关注<计算机技术网(www.ctvol.com)!!>

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/c-cdevelopment/483196.html

(0)
上一篇 2020年11月9日
下一篇 2020年11月9日

精彩推荐