冒泡法排序c语言源程序,冒泡排序算法实例程序(C语言)
冒泡排序算法实例程序,C语言代码实现如下:
#include
#include
#define MAX 10
int list[MAX] = {1,8,4,6,0,3,5,2,7,9};
void display(){
int i;
printf("[");
// navigate through all items
for(i = 0; i < MAX; i++){
printf("%d ",list[i]);
}
printf("]\n");
}
void bubbleSort() {
int temp;
int i,j;
bool swapped = false;
// loop through all numbers
for(i = 0; i < MAX-1; i++) {
swapped = false;
// loop through numbers falling ahead
for(j = 0; j < MAX-1-i; j++) {
printf(" Items compared: [ %d, %d ] ", list[j],list[j+1]);
// check if next number is lesser than current no
// swap the numbers.
// (Bubble up the highest number)
if(list[j] > list[j+1]) {
temp = list[j];
list[j] = list[j+1];
list[j+1] = temp;
swapped = true;
printf(" => swapped [%d, %d]\n",list[j],list[j+1]);
}
else {
printf(" => not swapped\n");
}
}
// if no number was swapped that means
// array is sorted now, break the loop.
if(!swapped) {
break;
}
printf("Iteration %d#: ",(i+1));
display();
}
}
main(){
printf("Input Array: ");
display();
printf("\n");
bubbleSort();
printf("\nOutput Array: ");
display();
}
如果我们编译并运行上述程序,那么它应该产生以下结果 –
Input Array: [1 8 4 6 0 3 5 2 7 9 ]
Items compared: [ 1, 8 ] => not swapped
Items compared: [ 8, 4 ] => swapped [4, 8]
Items compared: [ 8, 6 ] => swapped [6, 8]
Items compared: [ 8, 0 ] => swapped [0, 8]
Items compared: [ 8, 3 ] => swapped [3, 8]
Items compared: [ 8, 5 ] => swapped [5, 8]
Items compared: [ 8, 2 ] => swapped [2, 8]
Items compared: [ 8, 7 ] => swapped [7, 8]
Items compared: [ 8, 9 ] => not swapped
Iteration 1#: [1 4 6 0 3 5 2 7 8 9 ]
Items compared: [ 1, 4 ] => not swapped
Items compared: [ 4, 6 ] => not swapped
Items compared: [ 6, 0 ] => swapped [0, 6]
Items compared: [ 6, 3 ] => swapped [3, 6]
Items compared: [ 6, 5 ] => swapped [5, 6]
Items compared: [ 6, 2 ] => swapped [2, 6]
Items compared: [ 6, 7 ] => not swapped
Items compared: [ 7, 8 ] => not swapped
Iteration 2#: [1 4 0 3 5 2 6 7 8 9 ]
Items compared: [ 1, 4 ] => not swapped
Items compared: [ 4, 0 ] => swapped [0, 4]
Items compared: [ 4, 3 ] => swapped [3, 4]
Items compared: [ 4, 5 ] => not swapped
Items compared: [ 5, 2 ] => swapped [2, 5]
Items compared: [ 5, 6 ] => not swapped
Items compared: [ 6, 7 ] => not swapped
Iteration 3#: [1 0 3 4 2 5 6 7 8 9 ]
Items compared: [ 1, 0 ] => swapped [0, 1]
Items compared: [ 1, 3 ] => not swapped
Items compared: [ 3, 4 ] => not swapped
Items compared: [ 4, 2 ] => swapped [2, 4]
Items compared: [ 4, 5 ] => not swapped
Items compared: [ 5, 6 ] => not swapped
Iteration 4#: [0 1 3 2 4 5 6 7 8 9 ]
Items compared: [ 0, 1 ] => not swapped
Items compared: [ 1, 3 ] => not swapped
Items compared: [ 3, 2 ] => swapped [2, 3]
Items compared: [ 3, 4 ] => not swapped
Items compared: [ 4, 5 ] => not swapped
Iteration 5#: [0 1 2 3 4 5 6 7 8 9 ]
Items compared: [ 0, 1 ] => not swapped
Items compared: [ 1, 2 ] => not swapped
Items compared: [ 2, 3 ] => not swapped
Items compared: [ 3, 4 ] => not swapped
Output Array: [0 1 2 3 4 5 6 7 8 9 ]
冒泡法排序c语言源程序,冒泡排序算法实例程序(C语言)相关推荐
- C语言算法:冒泡法排序
C语言 冒泡法排序 要点:如果要对 N 个数 进行冒泡排序,那么要进行 N-1 趟 比较,在第1 趟比较中 要 进行 N-1 次两两 比较,(C语言中的数值比较 每次只能在 两个数之间),推而广之,在 ...
- C语言 冒泡法排序,选择法排序和插入排序
实例1 冒泡法排序 数组中有N个整数,用冒泡法将它们从小到大(或从大到小)排序. 实例解析: 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这 ...
- c语言冒泡法排序实验报告,四川大学微机原理冒泡法排序实验报告.doc
四川大学微机原理冒泡法排序实验报告四川大学微机原理冒泡法排序实验报告 <微机原理与接口技术实验报告> 学 院: 电气信息学院 班 级: 电力 老 师: 学 号: 姓 名: 目 录 实验目的 ...
- PTA 基础编程题目集 7-27 冒泡法排序 C语言
PTA 基础编程题目集 7-27 冒泡法排序 C语言 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一 ...
- C语言冒泡法排序——凭空出现的“26”
如果给你一连串的数字让你按照从小到大的顺序排列你会怎么办呢?挨个比较吗?我这有一种好玩的排序方法叫做冒泡排序.其实,冒泡法排序是C 语言中,较经典的一种排序方法.哈哈哈,经典不经典我不知道,反正我接触 ...
- C语言——冒泡法排序应用
#include <stdio.h> #include <stdlib.h> int main()/*有int main 就会有return 0;如果是void main ,就 ...
- 7-27 冒泡法排序 (C语言)
7-27 冒泡法排序 (20 分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元 ...
- C语言 数组排序 – 冒泡法排序 - C语言零基础入门教程
目录 一.简介 二.数组冒泡法排序原理 三.数组冒泡法排序实战 四.猜你喜欢 零基础 C/C++ 学习路线推荐 : C/C++ 学习目录 >> C 语言基础入门 一.简介 经过前面的学习, ...
- C语言数组的五种简单排序,选择法排序,冒泡法排序、交换法排序、插入法排序、折半法排序
文章目录 1.选择法排序 2.冒泡法排序 3.交换法排序 4.插入排序 5.折半法排序 6.五种方法比较 1.选择法排序 选择法排序是指每次选择索要排序的数组中的最小值(这里是由小到大排序,如果是由大 ...
- 7-2 冒泡法排序之过程 (15分)
7-2 冒泡法排序之过程 (15分) 本题要求使用冒泡法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果. 冒泡排序的算法步骤描述如下: 第1步:在未排序的n个数(a[0]〜 ...
最新文章
- 数字孪生白皮书(2019)
- Markdown中数学公式练习(2)
- wxWidgets:调试
- OC 实例变量(instance var)与属性(@property)的关系 isa指针
- maven原型_Maven原型创建技巧
- Cass2008 for CAD2006 安装
- flash 异常修复:QQ 的 flash 图标显示异常?QQ 秀、表情加载异常?一招解决
- 64位Java开发平台的选择,如何区分JDK,Tomcat,eclipse的32位与64版本
- SQL 中GROUP BY 、ROLLUP、CUBE 关系和区别
- Python学习之OS模块初识
- 基于百度通用翻译API的一个翻译小工具
- Selenium实战应用——实现知到智慧树自动播放课程
- 华为密盒M310最新固件-精简美化版
- Excel表格自动填充、批量提取与组合数据
- 如何查计算机硬盘型号,如何查看硬盘的型号
- 北斗卫星的授时系统不输GPS授时系统并应用到各行各业
- 2023-2028年中国燕麦奶行业市场预测与投资规划分析报告
- pycharm编写的py文件如何在linux下通过 ./ 运行,初识shebang
- UE4资源热更打包工具HotPatcher
- Pillow 根据字体类型、字号(字体大小)来计算字符串的像素(长 和 高)
热门文章
- 数据结构Java第四版pdf_数据结构与抽象:Java语言描述(原书第4版) 中文pdf完整版[131MB]...
- 新闻管理系统(C#)
- adsl拨号php,Linux_Linux系统创建ADSL拨号上网方法介绍,在使用linux创建adsl拨号连接之 - phpStudy...
- 安全计算:AVG免费版提供免费病毒防护
- 系统可行性研究报告模板
- android开机动画多长时间_ANDROID开机动画分析
- font-family 各字体一览表
- Java入门到超神(全网整理的复习资料)
- python语义网络图_语义网络 (Knowledge Graph)知识图谱
- python语言程序设计实践教程上海交通大学出版社的答案_高等教育出版社出版社c语言程序设计实践教程习题参考答案...