首页 > 其他分享 >冒泡

冒泡

时间:2023-04-25 10:26:06浏览次数:27  
标签:arr temp int 元素 交换 冒泡

冒泡排序:两两比较,然后交换位置

第一轮:找到最大的元素,换到最后。

第二轮:上一轮的大者就不用参与了,在剩余的元素中接着比较和交换。

​ ......

如果数组中有n个元素,进行n-1轮即可。

代码如下:

int[] arr={9,8,7,6,5};
for(int i=0;i<arr.length-1;i++){
    for(int j=0;j<arr.length-1-i;j++){
        if(arr[j]>arr[j+1]){
            int temp=arr[j];
            arr[j]=arr[j+1];
            arr[j+1]=temp;
        }
    }
}
System.out.println(Arrays.toString(arr));

标签:arr,temp,int,元素,交换,冒泡
From: https://www.cnblogs.com/wangqian646/p/17351821.html

相关文章

  • 1.8 冒泡排序
    #include<stdio.h>#defineN10intmain(){ints[N],i,j,a[N],t,count=0;printf("请为数组元素赋初值:\n");for(i=0;i<N;i++)scanf("%d",&a[i]);for(i=0;i<N-1;i++)for(j=0;j<N-1;j++)if(a[......
  • 1.8 冒泡排序
    第一部曲:从头到尾扫描数组的数,进行n-1轮,每次进行n-i次比较,因为经过前面i次,后面i个数已经确定了大小,不用再参与比较,如果后面的数大与前面的数就交换,第一轮结束后就把最大的数放在了最后,后面继续比较。需要注意两个数交换的时候要引入一个中间数,利用中间数才能进行交换。第二部曲:......
  • 冒泡排序
    一、问题描述对N个整数(数据由键盘输入)进行升序排列二、问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若......
  • 冒泡排序
    #include<iostream>usingnamespacestd;intmain(){ ios::sync_with_stdio(0); cin.tie(0); intn,i,j,t,x,flag=0; cin>>n; int*arr=newint[n]; for(i=0;i<n;i++) cin>>arr[i]; for(i=0;i<n;i++) { for(j=n-1;......
  • 冒泡排序
    #define_CRT_SECURE_NO_WARNINGS1#include<stdio.h>intmain(void){ intarr[4]={1,3,2,'\0'};//加上'\0'后由数组变成字符串 inti,j,temp; for(i=0;i<2;i++) { for(j=0;j<3-i-1;j++) {  if(arr[j]>arr......
  • 微信小程序-小程序事件冒泡和事件捕获
    !>小程序当中的时间捕获与时间冒泡与原生JS的是一样的这里我就来直接上代码来演示一下在微信小程序当中的时间冒泡与捕获,关于时间的捕获与冒泡可以参考我JS文章里面的介绍即可。事件捕获index.wxml:<viewclass="one"capture-bind:tap="onOneClick"><viewclass="two"captu......
  • 冒泡排序
    1,问题描述:对N个整数(数据由键盘输入)进行升序排列。2.问题分析:对于N个数因其类型相同,我们可利用数组进行存储。冒泡排序是在两个相邻元素之间进行比较交换的过程将一个无序表变成有序表。冒泡排序的思想:首先,从表头开始往后扫描数组,在扫描过程中逐对比较相邻两个元素的大小。若相......
  • 指针配合数组和函数案例(冒泡排序)
    #include<iostream>usingnamespacestd;voidmaopao(int*arr,intlen){ for(inti=0;i<len-1;i++) { for(intj=0;j<len-i-1;j++) { if(arr[j]>arr[j+1]) { inttemp=arr[j]; arr[j]=arr[j+1]; arr[j+1]=temp; } } }}voidprintf(int*arr,in......
  • 冒泡排序
    问题:对N个整数,由键盘输入,进行升序排序。设计:首先定义一个数组,可以盛放n个元素,利用for循环输入数组中每个元素的值,定义for循环j=1,j<=n-1,j++经过举例,需要n-1个轮回,j的for循环中嵌套i的for循环,i=0;i<n-j,i++经过举例,每次比较的次数为n-j次,因为j次轮回时,最后的j个元素就已经是按顺序......
  • 冒泡排序
    问题描述:键入N个整数进行升序排序。 1.第一行输入N表示输入的数字的个数  2.用循环输入数字;  3.定义i控制比较次数,定义j控制每次比较的次数;  4.如果后面的数小于前面的数,将两数位置交换。 #include<iostream>usingnamespacestd;intmain(){ intN,a[1000]; ......