精华内容
下载资源
问答
  • C语言冒泡排序法

    2015-06-20 13:28:43
    C语言冒泡排序法,亲测有效,可直接使用哦 欢迎下载
  • C语言冒泡排序法的详细注释C语言冒泡排序法的详细注释?起泡排序法的基本思想是:对于一个待排序的序列(假设按升序排序),从左向右依次比较相邻的两个数,如果左边的数大,则交换两个数以使右边的数大。这样比较、...

    C语言冒泡排序法的详细注释

    C语言冒泡排序法的详细注释?

    起泡排序法的基本思想是:对于一个待排序的序列(假设按升序排序),从左向右依次比较相邻的两个数,如果左边的数大,则交换两个数以使右边的数大。这样比较、交换到最后,数列的最后一个数则是最大的。然后在对剩余的序列进行相同的操作。这个操作过程被称为一次起泡。

    一次起泡的操作只能使数列的最右端的数成为最大者。对于10个数而言,需要9次这样的起泡过程。

    /*用冒泡排序法对一维整型数组中的十个数升序排序*/

    #include

    int main()

    {

    int i,j,t,a[10];

    printf("Please input 10 integers:\n");

    for(i=0;i<10;i++)

    scanf("%d",&a[i]);

    for(i=0;i<9;i++) /* 冒泡法排序 */

    for(j=0;j<10-i-1;j++)

    if(a[j]>a[j+1])

    {

    t=a[j];/* 交换a[i]和a[j] */

    a[j]=a[j+1];

    a[j+1]=t;

    }

    printf("The sequence after sort is:\n");

    for(i=0;i<10;i++)

    printf("%-5d",a[i]);

    printf("\n");

    system("pause");

    return 0;

    }

    其中i=0时:

    j从0开始a[0],a[1]比较大小,把其中的较大者给a[1],然后j++,a[1]和a[2]再比较,再把两者中的 较大者给a[2],这样a[0],a[1],a[2]中的最大者已经交换到a[2]中,这样继续直到j=10-i-1=9这样 a[9]中的为10个数中的最大数。

    然后i=1时:

    由于最大数已找到并放到a[9]中,所以这一次循环j最大只需到10-i-1=8,即a[8]即可,再次从j=0开始a[j]和a[j+1]两两比较交换,最后次大数放到a[8]中然后i++,继续...

    当i=9时已经过9次两两比较完成所有排序,i<9不再成立退出比较。

    对于n个数,只需要进行n-1次外循环的两两比较就完成排序。

    至于按降序排列只需将if(a[j]>a[j+1])改为if(a[j]

    /*用改进型冒泡排序法对一维整型数组中的十个数升序排序*/

    #include

    展开全文
  • c语言冒泡排序法代码

    2020-09-05 14:19:39
    c语言冒泡排序法代码,这个是大家最早接触的算法吧,总在写 总在错,学习就是这么个过程, 温故才知新, 望自己谨记
  • 主要介绍了C语言冒泡排序法的实现(升序排序法),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
  • C语言 冒泡排序法

    2020-12-20 21:52:56
    关于冒泡排序法 对于同学更容易的理解,下面举一个例子: ####从键盘输入5个数;对它们由小到大排序。 //冒泡排序:从键盘上输入10个数,按从小到大顺序输出所有元素 #include "stdio.h" void px(int a[]); void ...

    关于冒泡排序法

    对于同学更容易的理解,下面举一个例子:
    ####从键盘输入5个数;对它们由小到大排序。

    (提示:手机用户可以左划代码部分查看注释)

    #include "stdio.h"	
    void px(int a[]);					//首先声明一个px的函数;作用就是对输入的数进行排序
    
    void main(){
    	int a[5];						//定义五个数组,用来存放输入的数
    	printf("输入五个数:");			
    	for(int i=0;i<5;i++)			//这里对scanf输入函数进行五次循环
    	{
    		scanf("%d",&a[i]);
    	}
    	px(a);							//调用px函数,并把数组a里的值传递
    	printf("从小到大的顺序为");		
    	for(i=0;i<5;i++)				//做五次循环把值输出
    	{
    		printf("%3d",a[i]);
    	}
    	printf("\n");					//换行	
    }
    void px(int a[]){					
    	int t;							//定义一个t;temp用来交换值用;
    	for(int i=0;i<4;i++)			//首先分析第一个for循环:为什么做4次循环?因为例如1 2 3 4 5
    	{								//在不做交换值得情况下
    		for(int j=0;j<=5-i;j++)		//1和2,2和3,3和4,4和5;通过比较得出最大的数最后
    		{							//1和2,2和3,3和4;同理
    			if(a[j]>a[j+1])			//1和2,2和3,同理
    	{t=a[j];a[j]=a[j+1];a[j+1]=t;}	//1和2,同理
    		}							//经过上述可以看出外循环通过4次,而内循环从4次逐渐到1次
    	}
    }
    

    值得注意的是内循环一直是相邻的俩个数相比较。

    如果你对这段代码了解了,相信你可以做到对十个数进行冒泡排序。
    其实就是修改一个数据的事情;

    那么我们来运行一下这个代码
    在这里插入图片描述
    可以看到,运行成功并且结果也是正确的;
    如果你对冒泡排序法运用的很熟练,你可以求出很多问题,例如:
    1.从键盘上输入10个数输出最大值和最小值
    2.从键盘上输入10个数输出最大值和第二大的值
    3.从键盘上输入10个数按从大到小顺序输出
    …等等

    展开全文
  • c语言冒泡排序法

    2021-07-06 22:48:40
    冒泡排序法 从左到右比较相邻元素,每比较一轮,所有数中最大的会排到最右边,以此类推,实现从小到达排序。 代码如下:

    冒泡排序法

    从左到右比较相邻元素,每比较一轮,所有数中最大的会排到最右边,以此类推,实现从小到达排序。
    代码如下:
    在这里插入图片描述

    展开全文
  • c语言 冒泡排序法

    2021-01-26 00:03:03
    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。 其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就...

    一、什么是冒泡法

    冒泡排序是一种简单的排序算法,它也是一种稳定排序算法。
    其实现原理是重复扫描待排序序列,并比较每一对相邻的元素,当该对元素顺序不正确时进行交换。一直重复这个过程,直到没有任何两个相邻元素可以交换,就表明完成了排序。

    二、举例实现 (从小到大)

    以冒泡法(从小到大)为例
    原理:比较相邻的元素,将值大的元素交换到右边

    原始数组数据:8 4 20 5 总共4个数 len = 4

    1.冒泡法过程列出:

    相邻两个数比较,大的数交换到右边
    第0轮 4 8 20 5 、4 8 20 5 、4 8 5 20 ---------max = 20
    第1轮 4 8 5、4 5 8 ------------------------------ max =8
    第2轮 4 5 -----------------------------------------------max = 5

    2.冒泡法的两个循环i j 确定:

    i = 比较的轮数
    j = 每一轮比较中相邻数比较的次数

    4个数,经过3轮比较,i = 3
    即:

    for(i = 0;i<3;i++)
    

    j的规律如下:

    i j
    0 3
    1 2
    2 1
    for(j=0;j<3-i;j++)
    

    3.冒泡法的编程:

    #include <stdio.h>
    
    void sort(int arry[],int len)
    {
          int i,j,tmp;
          
          for(i=0;i<len-1;i++){
              for(j=0;j<len-1-i;j++){
                  if(arry[j] > arry[j+1]){
                     tmp = arry[j];
                     arry[j] = arry[j+1];
                     arry[j+1] = tmp;              
                  }          
              }      
          }
    }
    
    int main()
    {   
        int m; 
        int arry[4] = {8,4,20,5};
        int len = sizeof(arry)/sizeof(arry[0]);
         
        sort(arry,len);     
            
        for(m=0;m<len;m++){
            printf("%d ",arry[m]);    
        }
        
        putchar('\n');
    	return 0;
    }
    //打印结果:4 8 5 20
    

    如果要按照从大到小排列只要改变if条件:

     if(arry[j] < arry[j+1]){------}
    
    展开全文
  • C语言冒泡排序法心得

    2020-09-02 21:39:22
    相信学过C语言的朋友都知道,在C语言中,常用的排序算法有:冒泡排序、快速排序、插入排序、选择排序、希尔排序、堆排序以及归并排序等等。...在这里呢,主要是想和大家一起来探讨探讨C语言冒泡排序法
  • 冒泡排序,c语言冒泡排序法代码冒泡排序冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。它重复地走访过要排序的元素列,依次比较两个相邻的元素,如果顺序(如从大到小、首字母从Z到A)错误就把他们...
  • //将比较大的数赋值给数组中前面的变量 } //从此便完成大小变量的交换,使得大值往前放 } //结束内层循环 } //结外内层循环,完成排序 printf("最后排序为:\ ");//在屏幕显式“最后排序为:”并换行 for(i=0;i { //...
  • C语言冒泡排序法的实现(升序排序法)发布时间:2020-09-19 18:53:46来源:脚本之家阅读:108作者:Geek宝宝任务代码:数字的排序:#include #define SIZE 10int main(){int a[SIZE]={12 ,43,9,13,67,98,101,89,3,35};...
  • 文件操作,c语言冒泡排序法代码一 读1. r模式 只读f = open('t1',mode = 'r',encoding = 'utf-8')f -- 文件句柄 所有对文件的操作都是操作文件句柄第一个内容是文件的路径,必须是字符串)第二个内容(mode)是对这个...
  • C语言冒泡排序法……

    2009-09-25 10:52:11
    冒泡排序 C语言冒泡排序 C语言冒泡排序 C语言冒泡排序 C语言

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 12,272
精华内容 4,908
关键字:

c语言冒泡排序法

c语言 订阅