C语言排序算法之冒泡排序

C语言排序算法之冒泡排序文章目录一 冒泡排序概述二 冒泡排序算法分析 2 冒泡排序算法代码详解总代码一 冒泡排序概述冒泡排序重复地走访过要排序的元素列 依次比较两个相邻的元素 如果顺序 如从大到小 首字母从 Z 到 A 错误就

大家好,欢迎来到IT知识分享网。


一、冒泡排序概述

请添加图片描述

二、冒泡排序算法分析

1.图像分析原理

2.冒泡排序算法代码详解

既然我们知道了原理,那我们结合一下代码来理解吧。

 void bubbleSort( int data[] ,int n )//data[]是传过来的数组,n是数组中那些数的个数 { 
     /*----begin------*/ for(int i=0;i<n-1;i++)//这里是外循环,有n个数就比较n-1次 { 
     for(int j=0;j<n-1-i;j++)//这是内循环,每轮比较n-1-(上一轮的除去的数的个数) { 
     if(data[j]>data[j+1])//判断如果左边的数大于右边的数,就把大的数往右移 { 
     //这个是交换不用第三方变量的方式,当然也可以借用第三方变量来交换 data[j]=data[j]+data[j+1]; data[j+1]=data[j]-data[j+1]; data[j]=data[j]-data[j+1]; } } } /*-----end------*/ } 

三、总代码

#include <stdio.h> #include <stdlib.h> //冒泡排序 void bubbleSort( int data[] ,int n )//data[]是传过来的数组,n是数组中那些数的个数 { 
      /*----begin------*/ for(int i=0;i<n-1;i++)//这里是外循环,有n个数就比较n-1次 { 
      for(int j=0;j<n-1-i;j++)//这是内循环,每轮比较n-1-(上一轮的除去的数的个数) { 
      if(data[j]>data[j+1])//判断如果左边的数大于右边的数,就把大的数往右移 { 
      //这个是交换不用第三方变量的方式,当然也可以借用第三方变量来交换 data[j]=data[j]+data[j+1]; data[j+1]=data[j]-data[j+1]; data[j]=data[j]-data[j+1]; } } print(data,n);//输出每一轮排序后的数 } /*-----end------*/ } //输出数组元素 void print(int data[] ,int n) { 
      for(int i=0;i<n;i++) printf("%d ",data[i]); printf("\n");//输出后换行 } //主函数 int main() { 
      int data[]={ 
     5,1,3,2};//数组元素 bubbleSort(data,4);//调用冒泡排序函数 return 0; } 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/122604.html

(0)
上一篇 2025-10-15 14:45
下一篇 2025-10-15 15:10

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信