7-2 冒泡法排序之过程 (15分)

本题要求使用冒泡法排序,将给定的n个整数从小到大排序后输出,并输出排序过程中每一步的中间结果。

冒泡排序的算法步骤描述如下:

第1步:在未排序的n个数(a[0]〜 a[n−1])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,数组中的最大元素“冒泡”到a[n−1];

第2步:在剩下未排序的n−1个数(a[0] 〜 a[n−2])中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[n−2]中的最大元素“冒泡”到a[n−2];

……

第i步:在剩下未排序的n−k个数()中,从a[0]起,依次比较相邻的两个数,若邻接元素不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[n−i]中的最大元素“冒泡”到a[n−i];

……

第n−1步:在剩下未排序的2个数(a[0] 〜a[1])中,比较这两个数,若不符合次序要求,则对它们进行交换。本次操作后,a[0] 〜 a[1]中的最大元素“冒泡”到a[1]。

输入格式:

输入第一行给出一个不超过10的正整数n。第二行给出n个整数,其间以空格分隔。

输出格式:

在每一行中输出排序过程中对应步骤的中间结果,即每一步后a[0]〜 a[n−1]的值,相邻数字间有一个空格,行末不得有多余空格。

输入样例:

5
8 7 6 0 1

输出样例:

7 6 0 1 8
6 0 1 7 8
0 1 6 7 8
0 1 6 7 8

#include<stdio.h>
int main (){int a[10],n,i,j,temp,x;scanf("%d",&n);for(i=0;i<n;i++){scanf("%d",&a[i]);}for(i=0;i<n-1;i++){for(j=0;j<n-i-1;j++){if(a[j]>a[j+1]){temp=a[j];a[j]=a[j+1];a[j+1]=temp;}}for(x=0;x<n;x++){if(x<n-1){printf("%d ",a[x]);  }else{printf("%d\n",a[x]);}           }}
}

7-2 冒泡法排序之过程 (15分)相关推荐

  1. PTA-7-27 冒泡法排序-C语言 (20分)

    将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样的方法对前N−1个元 ...

  2. C语言数组的五种简单排序,选择法排序,冒泡法排序、交换法排序、插入法排序、折半法排序

    文章目录 1.选择法排序 2.冒泡法排序 3.交换法排序 4.插入排序 5.折半法排序 6.五种方法比较 1.选择法排序 选择法排序是指每次选择索要排序的数组中的最小值(这里是由小到大排序,如果是由大 ...

  3. C语言 冒泡法排序,选择法排序和插入排序

    实例1 冒泡法排序 数组中有N个整数,用冒泡法将它们从小到大(或从大到小)排序. 实例解析: 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这 ...

  4. 冒泡法排序(PTA)

    7-5 冒泡法排序 (15 分) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元 ...

  5. C语言冒泡法排序——凭空出现的“26”

    如果给你一连串的数字让你按照从小到大的顺序排列你会怎么办呢?挨个比较吗?我这有一种好玩的排序方法叫做冒泡排序.其实,冒泡法排序是C 语言中,较经典的一种排序方法.哈哈哈,经典不经典我不知道,反正我接触 ...

  6. C语言——冒泡法排序应用

    #include <stdio.h> #include <stdlib.h> int main()/*有int main 就会有return 0;如果是void main ,就 ...

  7. PTA 基础编程题目集 7-27 冒泡法排序 C语言

    PTA 基础编程题目集 7-27 冒泡法排序 C语言 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一 ...

  8. 7-27 冒泡法排序 (C语言)

    7-27 冒泡法排序 (20 分)将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元 ...

  9. 从头学习linux C 冒泡法排序

    下面是一个简单冒泡法排序,代码如下: [cpp] view plaincopy #include <stdio.h> #define LEN 10 int main() { int a,i ...

最新文章

  1. autoLayout
  2. python时钟程序的设计总结_Python实现时钟显示效果思路详解
  3. Citrix Reciever更改https为http模式
  4. 程序员面试题精选100题(26)-和为n连续正数序列[算法]
  5. linux命令详解:md5sum命令
  6. Python之IO编程
  7. 通过HTTP请求响应过程了解HTTP协议
  8. Vue.JS项目输入框中使用v-model导致number类型值自动转换成string问题的解决方案
  9. 8位移位寄存器和优先编码器
  10. 前端学习(2606):vue简单叙述
  11. python--集合概念和实战(一)
  12. 成为0.01%!利用TensorFlow.js和深度学习,轻松阅读古草体文字
  13. java sqlldr_sqlldr详解
  14. C语言编写几何平均数的函数,Excel 计算几何平均值:GEOMEAN函数
  15. 微信小程序-bug-页面不存在
  16. 为啥干不过苹果?某手机老总一语道破心中所想,赚钱才是第一位的
  17. 003_JS实现图片轮播与点击播放
  18. (一)利用Wikipedia中文语料训练词向量word2vec——获取Wikipedia简体中文语料库
  19. Oracle EBS中打印二维码
  20. 【PDF软件篇】PDF轻量化电子笔记编辑利刃-Xodo软件优化

热门文章

  1. 退出mysql控制台与退出mysql
  2. 2019 杭电第九场1007 Rikka with Travels
  3. 记录文件服务器的操作日志
  4. apollo自动驾驶进阶学习之:ST与ST迭代过程
  5. 6大科研神器,科研党必备,至少提高效率90%
  6. 世界著名logo设计文化解读
  7. linux 第七天 linuxprobe
  8. Python---GPA(绩点)计算器
  9. MIT molecular Biology 笔记10 翻译
  10. 题目名称:组个最小数时间限制:1000ms内存限制:256MB提交通过率:43%