首页 > 其他分享 >冒泡排序

冒泡排序

时间:2023-04-17 22:13:08浏览次数:33  
标签:遍历 数字 int 冒泡排序 ++ 数组

1.问题描述:对N个数字进行冒泡排序;

2.问题分析:N个数字可以用数组来进行储存数据,从头开始进行扫描,将目标与相邻的一个进行比较,如果小于则两个数字交换,一轮结束后最小的数字则到最后,第二轮开始时减小便利次数,因为最后一个数字在第一次时已经就是最小的了,遍历N-1次后,则数据会从大到小完成;最后遍历数组并输出;

3.算法设计:首先设置一个N用来表示有几个数,用数组储存N个数;进行嵌套式循环语句,第一层循环表示要进行多少次遍历,第二次循环表示每次遍历需要对比的元素个数;

4.源代码:

#include<iostream>
using namespace std;
int main()
{
int N;
cin >> N;
int a[500] = { 0 };
for (int i = 0; i < N; i++)
{
cin >> a[i];
}
for (int i = 0; i < N-1; i++)
{
for (int j = 1; j < N-i; j++)
{
if(a[j]>a[j-1])
{
int k = a[j];
a[j] = a[j - 1];
a[j - 1] = k;
}
}
}
for (int i = 0; i < N; i++)
{
cout << a[i];
}
return 0;

}

标签:遍历,数字,int,冒泡排序,++,数组
From: https://www.cnblogs.com/Snor9/p/17327704.html

相关文章

  • day 8 冒泡排序
    1.从第一个数开始循环遍历所有数;2.从前向后比较,若前大于后则进行交换;3.从第二个数开始重新进行上述步骤至结束;4.输出所有数;#include<iostream>usingnamespacestd;intmain(){intn,t;cin>>n;inta[n];for(inti=0;i<n;i++){cin>>a[i];}for(inti=1;i<n;i++){......
  • 冒泡排序
    一问题描述对于键盘输入的N个数进行升序排序二设计思路冒泡排序将第一个数将其与下一个数字比较遇到小的交换数值然后再进行下面二个的比较最后将最大的移动到了最后一位三程序流程图 四伪代码实现先定义输入的个数NintN再然后定义数组将其输入的数存放起来进行for循......
  • Java中常用排序算法及示例-冒泡排序、希尔排序、选择排序、插入排序、合并排序、基数
    场景Java中需要对数据进行排序处理,常用的排序算法以及示例进行归纳整理。注:实现1、冒泡排序冒泡排序法又称为交换排序法,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个元素的比较。如此扫描一次之后就可以确保最后一个元素位于正确的顺序,接着逐步进......
  • C++冒泡排序简单讲解
    什么是冒泡排序冒泡排序(BubbleSort)也是一种简单直观的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来是因为越小的元素会经由交换慢......
  • 冒泡排序和选择排序
    冒泡排序:对N个整数(数据由键盘输入)进行升序排列。解题思路:输入N个整数利用数组储存,利用for循环判断前后两数的大小,前面的数大于后面的数则交换位置,经过一次循环后最大的数就会到最后一位,下次循环只需进行除去最后一个数的其他数判断交换位置即可。利用循环嵌套即可实现冒泡排序。......
  • Java中常用排序算法及示例-冒泡排序、希尔排序、选择排序、插入排序、合并排序、基数
    场景Java中需要对数据进行排序处理,常用的排序算法以及示例进行归纳整理。注:博客:https://blog.csdn.net/badao_liumang_qizhi实现1、冒泡排序冒泡排序法又称为交换排序法,原理是从第一个元素开始,比较相邻元素的大小,若大小顺序有误,则对调后再进行下一个元素的比较。如此扫描......
  • 冒泡排序
    vararr=[3,2,1,4,5,6,7,8,9];console.log('原数组:'+arr);//标记原数组functionbubbleSortBetter(arr){//外层循环,控制趟数,每一次找到一个最大值for(vari=0;i<arr.length-1;i++){//内层循环,控制比较的次数,并且判断两个数的大小var......
  • 算法学习之冒泡排序【C语言】
    冒泡排序排序规则冒泡排序的规则是相邻的两个数字依次比较,如果前面的数字比后面的数字大,则交换它们的位置,否则保持不变,直到遍历完所有的数字。这个过程会不断地进行,直到所有的数字都按照从小到大的顺序排列好。双层循环在冒泡排序的算法中,需要使用两层循环来实现排序功能。for(int......
  • go语言学习-冒泡排序
    冒泡排序冒泡排序属于交换类的排序算法,比如有一段乱序的数,591681464925463第一轮迭代:从第一个数开始,依次比较相邻的两个数,如果后面的一个数比前面的一个数大,那么交换位置,直接到处理最后一个数,最后这个数是最大的第二轮迭代,因为最后一个数已经是最大的了,重复第一轮操作,......
  • java -- System类和冒泡排序
    Systemjava.lang.System类中提供了大量的静态方法,可以获取与系统相关的信息或系统级操作。System类私有修饰构造方法,不能创建对象,直接类名调用。exit//终止当前运行的Java虚拟机,非零表示异常终止publicstaticvoidexit(intstatus)currentTimeMillis//返回当前时间(......