第六周--冒泡排序

Posted gsq1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了第六周--冒泡排序相关的知识,希望对你有一定的参考价值。

题目描述

读入N个整数,利用冒泡排序法对这些数排序,输出排序后的N个数,两个数之间用空格间隔。

这里排序指的是升序。

输入格式

两行,第一行一个正整数N,表示待排序的数的个数。

第二行为N个整数。

输出格式

一行,排序后的N个数。

输入输出样例

输入 
5
4 2 4 5 1
输出 
1 2 4 4 5

冒泡排序:两两比较相邻记录的关键码,如果反序则交换,直到没有反序的记录为止
设变量exchange记载记录交换的位置,则一趟排序后,exchange记载的一定是这一趟排序中记录的最后一次交换的位置,且在此位置之后的所有记录都是有序的
设bound位置是无序区的最后一个记录,则每次冒泡排序的范围是1-bound,在一次排序后,从exchange之后一定是有序的,所以是bound=exchange

#include<bits/stdc++.h>
using namespace std;
template<class T>
void bubblesort(T r[],int n)

T tmp;
int exchange,bound;
exchange=n;
while(exchange)

bound=exchange;
exchange=0;
for(int j=1;j<bound;j++)
if(r[j]>r[j+1])

tmp=r[j];
r[j]=r[j+1];
r[j+1]=tmp;
exchange=j;



int main()

int n,a[100001];
cin>>n;
for(int i=1;i<=n;i++)
cin>>a[i];
bubblesort(a,n);
for(int i=1;i<=n;i++)

cout<<a[i]<<" ";

return 0;

第六周作业

编写脚本实现登陆远程主机。(使用expect和shell脚本两种形式) 生成10个随机数保存于数组中,并找出其最大值和最小值 输入若干个数值存入数组中,采用冒泡算法进行升序或降序排序 总结查看系统负载的几种命令,总结top命令的指标大概什么含义(不要求全部写出来) 编写脚本,使用for和while分

以上是关于第六周--冒泡排序的主要内容,如果未能解决你的问题,请参考以下文章

第六周作业

第六周作业

运维小白成长记——第六周

第十六周 项目1--验证算法--冒泡排序

第六周测验

第六章 排序-冒泡,选择,插入排序