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

冒泡排序

时间:2023-05-09 22:25:54浏览次数:41  
标签:sort arr int 冒泡排序 static public


import java.util.Arrays; /** * @Auther: 么么 * @Date: 2023/5/8 - 05 - 08 - 22:16 * @Description: PACKAGE_NAME * @version: 1.0 */ //冒泡排序 public class test02 { //这是一个main方法,是程序的入口: public static void main(String[] args) { int[] arr={4,2,3,7,5,1,9,8}; int[] sort = sort(arr); System.out.println(Arrays.toString(arr)); } //数组为空 或者 长度为 1 则直接返回该数组 public static int[] sort(int [] arr){ if(arr==null||arr.length<2){ return arr; } for(int i =0;i<arr.length-1;i++){ //设置flag值,当一趟下来没有交换任何数,说明数组已经有序了,将flag设为false boolean flag = true; for(int j=1;j<arr.length-i;j++){ if(arr[j-1]>arr[j]){ swap(arr,j-1,j); flag=false; } } if(flag){ return arr; } } return arr; } //异或运算--i不能等于j 及作与运算的俩个数值可以相同,但不能为相同的地址 //不明白的:见我的文章 --》异或运算 public static void swap(int arr[],int i,int j){ arr[i] = arr[i]^arr[j]; arr[j] = arr[i]^arr[j]; arr[i] = arr[i]^arr[j]; } }

 

标签:sort,arr,int,冒泡排序,static,public
From: https://www.cnblogs.com/me-me/p/17386477.html

相关文章

  • 冒泡排序
    目录汇编实现及推导过程高级语言实现纸上得来终觉浅,绝知此事要躬行汇编实现及推导过程;程序名称:;功能:冒泡排序,方法5:不用两两比较,第一位数和其余数比较,小就交换;=======================================assumecs:code,ds:data;排序;手推算法;;外层循环条件si=0;......
  • 冒泡排序
    voidbubble_sort(intarr[],intsz)//这里的arr[]传递的是首地址{ inti=0;for(i=0;i<sz-1;i++)//一共进行多少趟 {intj=0;for(j=0;j<sz-1-i;j++)//每一趟进行多少次冒泡排序 { if(arr[j]>arr[j+1])//如果判定条件成立将上一个数值赋值给下一个数值{ int......
  • 一篇文章讲明白冒泡排序
    原文点此跳转什么是冒泡排序(bubbleSort)?冒泡排序是所有排序算法中最简单的一种,当然也是性能最差的一种。冒泡排序的思想其实很简单,就如它的名字一样在水中"冒泡"。水中有很多散乱的小气泡,然后一个个气泡往水面上冒出。例如一组无序的数组,最左边就是水底,最右边就是水面,最左边的元素......
  • 手把手教你掌握冒泡排序思路
    完整代码:#include<stdio.h>bubble_sort(intarr[],intsz){inti=0;intj=0;for(i=0;i<sz-1;i++){for(j=0;j<sz-1-i;j++){if(arr[j]>arr[j+1]){inttmp=arr[j];arr[j]=arr[j+1];arr[j+1]=tmp;}}}}intmain(){intarr[10]=......
  • 8冒泡排序
    #include<iostream>usingnamespacestd;#defineN10intmain(){ intarr[N],a,k,i,j,count; cin>>a; for(i=0;i<a;i++){ cin>>arr[i]; } for(i=0;i<a;i++){ for(j=i+1;j<a;j++){ k=arr[j]; if(k<arr[i]){ arr[j]=arr[i]; arr[i]=......
  • c语言趣味编程(8)冒泡排序
    一、问题描述对n个整数进行升序排列(数据由键盘键入)二、设计思路(1)读取从键盘键入的n个数据,存入数组a中;(2)用for循环对数组a中的数据进行遍历,并用if语句来判断大小,按从小到大存入;(3)遍历输出数组中已经完成升序排列的数组元素;三、程序流程图 四、伪代码五、代码1#include......
  • 冒泡排序
    问题描述:对N个整数(数据由键盘输入)进行升序排列。这里采用五个数。代码如下:#include<iostream>#include<vector>usingnamespacestd;intmain(){ inta[5],t; for(inti=0;i<5;i++){ cin>>a[i]; } for(inti=1;i<=4;i++){ for(intj=0;j<......
  • 排序算法之详解冒泡排序
    引入冒泡排序顾名思义,就是像冒泡一样,泡泡在水里慢慢升上来,由小变大。虽然冒泡排序和冒泡并不完全一样,但却可以帮助我们理解冒泡排序。思路一组无序的数组,要求我们从小到大排列我们可以先将最大的元素放在数组末尾再将第二大的数放在数组的倒数第二个位置再将第三大......
  • 冒泡排序详解
    引入:::tips冒泡排序顾名思义,就是像冒泡一样,泡泡在水里慢慢升上来,由小变大。虽然冒泡排序和冒泡并不完全一样,但却可以帮助我们理解冒泡排序。:::思路:::tips一组无序的数组,要求我们从小到大排列我们可以先将最大的元素放在数组末尾再将第二大的数放在数组的倒数第二......
  • 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[......