已知序列{8,7,4,6,5,2,3,1,9}.试用冒泡排序法对序列进行排序,并写出中间过程。

作者&投稿:夕柿 (若有异议请与网页底部的电邮联系)
编写程序对无序序列5 1 7 3 1 6 9 4 2 8 6进行冒泡排序。~

#include"iostream"
#include"iomanip"
using namespace std;
int main()
{
const N=11;
unsigned int i,j,temp;
unsigned int a[N]={5,1,7,3,1,6,9,4,2,8,6};
for(i=0;i<N-1;i++)
{
for(j=0;j<N-1-i;j++)
{
if(a[j]>a[j+1]) /*冒泡排序的主要内容每次把比较相邻两个元素把把
大的放后面*/
{
temp=a[j];
a[j]=a[j+1];
a[j+1]=temp;
}
}

}
for(i=0;i<N;i++)
{
cout<<setw(5)<<a[i]<<endl;
}
return 0;
}

#include "stdio.h"
int main()
{
int buf[8]={6,8,5,4,6,9,3,2};
int i,j,k;
for(i=0;i<8;i++)
for(j=7;j>i;j--)
if(buf[j]<buf[j-1])
{
k=buf[j];
buf[j]=buf[j-1];
buf[j-1]=k;
}
for(i=0;i<8;i++)printf("%d ",buf[i]);
putchar('
');
return 0;
}
PS:
一楼用C++,对于新手不好吧,二楼循环看来不像冒泡,倒像是沉石头算法,这也是编程习惯而已,呵呵

已知序列{8,7,4,6,5,2,3,1,9},冒泡排序法对序列进行从小到大排序过程为:

{8,7,4,6,5,2,3,1,9}

={7,4,6,5,2,3,1,8,9}

={4,6,5,2,3,1,7,8,9}

={4,5,2,3,1,6,7,8,9}

={4,2,3,1,5,6,7,8,9}

={2,3,1,4,5,6,7,8,9}

={2,1,3,4,5,6,7,8,9}

={1,2,3,4,5,6,7,8,9}

扩展资料:

冒泡排序算法的原理如下比较相邻的元素。如果第一个比第二个大,就交换他们两个。对每一对相邻元素做同样的工作,从开始第一对到结尾的最后一对。针对所有的元素重复以上的步骤,除了最后一个。持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

冒泡排序是相邻的两个元素比较,交换也发生在这两个元素之间。所以,如果两个元素相等,是不会再交换的;如果两个相等的元素没有相邻,那么即使通过前面的两两交换把两个相邻起来,这时候也不会交换,所以相同元素的前后顺序并没有改变。



874652319 746523189 465231789 462315789 423156789 231456789 213456789 123456789(这是从小到大,你也可以从大到小)


依次读入给定的整数序列{7,16,4,8,20,9,6,18,5},构造一棵二叉排序树,并...
7 \/ \\ 4 16 \\ \/ \\ 6 8 20 \/ \\ \/ 5 9 18 平均查找长度=1*1+2*2+3*3+4*3=26 (第一层一个结点,每个结点比较一次查找成功;第二层两个结点,每个结点比较两次查找成功;第三层三个结点,每个结点比较三次查找成功;第四层三个结点,每个结点比较四次查找成功)

iphone 二代序列号为87912FA3Y7K,型号为MB496B,请问生产年份和国家是什...
09年第12周生产,销售地区是英国或者爱尔兰。是否翻新,仅根据序列号是无法确定的,但肯定不可能是全新的,因为二代已经没有全新机了。是中国官网,肯定是行货,无风险。降价是必然趋势,时间问题而已

大专数据结构应用题, 1、已知关键字序列为{52,43,78,99,85,30,40,请...
24 15 21 27 32 24 16第3趟排序结果:10 12 15 24 18 21 27 32 24 16第4趟排序结果:10 12 15 16 18 21 27 32 24 24第5趟排序结果:10 12 15 16 18 21 27 32 24 24第6趟排序结果:10 12 15 16 18 21 27 32 24 24第7趟排序结果:10 12 15 16 18 21 24 32 27 24第8...

求教c语言指定数字序列的指定个数排序比如说:0123456789(不重复...
n-1]); count++; } printf("总排序方法:%d\\n",count); }可以看到,总的排序方式是3024=9*8*7*6 根据排列组合的知识可以知道,这就相当于9个数中任意找4个出来排序的方法,也就是C94 结果正确。注意结果一共有 3024行,我只截了一部分。

Excel中使用填充柄填充序列2、4、6、8…20的具体步骤
2种方法:1 A1输入2 A2输入4 选中A1:A2用鼠标拖填充柄至需要的位置 2 A1输入2 用右键拖填充柄至需要的位置,松开右键后在弹出的快捷菜单中选"序列",步长处输入2后确定

已知一个整数序列{6,3,5,2,4,1},要求给出每趟直接插入排序后的结果...
共排序5趟:

已知序列{9,100,65,7,70,83},采用快速排序法的每趟结果
第三趟:7,9,65,(83,70),100 第四趟:7,9,65,(70),83,100 第五趟:7,9,65,70,83,100 快速排序的实际序列会受到枢轴选取方法和元素移动方法的影响。本移动结果是依据严版数据结构的示例算法进行的,即取序列的第一个元素作为枢轴,同时采用严版的示例移动算法作为元素移动方式...

数据结构题 已知序列(10,18,4,3,6,12,1,9,8),请用快速排序写出每一趟...
3),8,(9),10,12,(18,18)1,(3,4,6),8,9,10,12,18,(18)1,3,(4,6),8,9,10,12,18,18 1,3, 4,6,8,9,10,12,18,18 以上为快速排序的分区处理,选择一个数10,第一次吧比10小的全部移到左子区,比10大的移到右子区 第二次是比教8和12的大小的 第三第四依次类推 ...

集合序列{1}{2,3}{4,5,6}{7,8,9,10},求第10个集合元素之和
由题意知,第n个集合有n个元素,前n-1个集合共有元素1+2+3+4+...+n-1=n(n-1)\/2个,所以第n个集合的首项(n^2-n+2)\/2,末项是(n^2+n)\/2,由等差数列求和公式可得 n=21时,第21个集合的首项是211,末项是231,所以sn=(221+231)*21/2=4641 ...

数据序列(8,9,10,4,5,6,20,1,2)只能是下列排序算法中的哪个2趟排序后的...
C插入排序。A选择排序会把最小的放到前边 B会把最大的放到后边 D也会把最大的放到后边 C前面的数据是有序的,后边的数据大大小小乱七八糟的,可见是插入排序进行了两次的结果

喜德县17865249956: 已知序列{8,4,6,7,12,5,10,14,13,11,15}构造一棵二叉排序树 -
居冯盐酸: 该二叉排序树 8 / \4 12 \ / \ 6 10 14 / \ \ / \ 5 7 11 13 15

喜德县17865249956: 用归并排序算法对序列1,2,6,4,5,3,8,7进行排序,共需要进行()次比较 -
居冯盐酸: 假设是按照升序排列: 分为{1,2},{6,4},{5,3},{8,7} 对比后:{1,2},{4,6},{3,5},{7,8},次数4 对比后:{1,2,4,6},{3,5,7,8},次数4,因为4大于1,2因此不需要比较6 对比后:{1,2,3,4,5,6,7,8},次数6 总共是14

喜德县17865249956: 已知正整数序列7,11,5,3,9,4,10,2,8,1,6用快速排序法进行排序,给出第一次排序的序列 -
居冯盐酸: 正整数序列7,11,5,3,9,4,10,2,8,1,6用快速排序法进行排序,若以中间数4为基准划分,则第一次排序后的序列为(划分为二段):(1,2,4,3),(9,5,10,11,8,7,6)

喜德县17865249956: Description 给定一串整数数列,求出所有的递增和递减子序列的数目,如数列7,2,6,9,8,3,5,2,1可 -
居冯盐酸: #include <iostream> using namespace std; int main() {int n,i,j;while(cin>>n){if(n==0)return 0;int *p=new int[n];for(i=0;i<n;i++){cin>>p[i];}j=1; for(;j<n-1;j++){if((p[j]>p[j+1])&&(p[j]>p[j-1]))cout<<p[j];if((p[j]<p[j+1])&&(p[j]<p[j-1]))cout<<p[j];} }}

喜德县17865249956: 数据结构试题4、已知待排序列以下,利用二路归并排序进行按小到大排序,除了最终结果外,要求写出每一趟排序的结果.初始序列为:[8] [4] [5] [6] [2] [1] [7] ... -
居冯盐酸:[答案] 1、 4 8 5 6 1 2 3 7 2、 4 5 6 8 1 2 3 7 3、 1 2 3 4 5 6 7 8

喜德县17865249956: 数据结构:已知序列{8,3,2,1,7,4,6,5},请给出直接选择排序法对该序列作升序排序时的每一趟的结果.
居冯盐酸: 3, 2, 1, 7, 4, 6, 5, 8 2, 3, 1, 4, 6, 5, 7, 8 2, 1, 3, 4, 5, 6, 7, 8 1, 2, 3, 4, 5, 6, 7, 8 1, 2, 3, 4, 5, 6, 7, 8 1, 2, 3, 4, 5, 6, 7, 8 1, 2, 3, 4, 5, 6, 7, 8

喜德县17865249956: 2,9,3,1,8,4,3,6,5,7,这组数字有规律吗?下一个应该是什么 -
居冯盐酸: . 2,9,3,1,8,4,3,6,5,7 这是由两个序列组成的数字序列而已 将两个序列拆分如下 第一个序列:2,(2+1)=3,(3+1)=4,(4+1)=5 分别位数是第1(2),3(3),6(4),9(5)位 第二个序列是:9,9*2=18,18*2=36,36*2=72 分别位数是第2(9)

喜德县17865249956: 序列1,2,3,4,5,6,7,8,9,2,3,1 建立二叉平衡树, 若求平均查找长度,问计算查找长度时,对重复数字怎么处理 -
居冯盐酸: 如果关键字已经在二叉树中存在,这个输入重复的关键字不会插入到二叉树中的,因此1,2,3只有一个

喜德县17865249956: 已知离散时间序列:x(n)={ - 4,5,1, - 2, - 3,0,2}y(n)={6, - 3, - 1,0,...
居冯盐酸: 解:(1,1),两数的和为2,共1个,(1,2),(2,1),两数的和为3,共2个,(1,3),(2,2),(3,1),两数的和为4,共3个,(1,4),(2,3),(3,2),(4,1),两数的和为5,共4个 … ∵1+2+3+4+5+6+7+8+9+10=55,∴第60个数对在第11组之中的第5个数,从而两数之和为12,应为(5,7);故选;D.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网