正宗冒泡法-java语言实现

冒泡法的思想就是:小的不停地“向前跑”,大的不停地“向后”冒。

代码如下:

public class Main {

    public static void main(String[] args) {
          int a[]={7,8,1,3,5};
          System.out.println("排序前:");
          print(a);
          bubblesort(a);
          System.out.println();
          System.out.println("排序后:");
          print(a);
    }
     public static void bubblesort(int a[]){
        int temp=0;
        int i;
        for(i=0;i<a.length;i++){
            for(int j=a.length-1;j>i;j--){
                if(a[j]<a[j-1]){
                    temp=a[j];
                    a[j]=a[j-1];
                    a[j-1]=temp;
                }
            }
        }
    }
     static void print(int []a){
         for(int s: a)
             System.out.print(s+" , ");
        }
     }

循环变量i每迭代一次,便确定一位从第i位(包括第i位)到最后一位的最小数字。最后迭代完了i,也就完成了排序。

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-10 15:20:50

正宗冒泡法-java语言实现的相关文章

day05&lt;Java语言基础--数组&gt;

Java语言基础(数组概述和定义格式说明) Java语言基础(数组的初始化动态初始化) Java语言基础(Java中的内存分配以及栈和堆的区别) Java语言基础(数组的内存图解1一个数组) Java语言基础(数组的内存图解2二个数组) Java语言基础(数组的内存图解3三个引用两个数组) Java语言基础(数组的初始化静态初始化及内存图) Java语言基础(数组操作的两个常见小问题越界和空指针 Java语言基础(数组的操作1遍历) Java语言基础(数组的操作2获取最值) Java语言基础(数

Java千问:Java语言各种数字的“非常规”写法你都会吗?

Java程序中总是会出现一些数字.我们通常都是用常规的方式来表示这些数字,如以下代码所示 int a = 1; double b = 1.5; 但是数字也可以有非常规写法,在这里我们用一篇短文简单总结一下 整数的非十进制写法首先强调一下,这里所说的整数并不是单指int类型,而是包含了int.byte.short和long这4种整数类型.在Java语言中,除了可以用十进制的形式表示整数以外,还可以用二进制.八进制和十六进制的方式表示整数.如果用十六进制的形式表示一个整数,数字要以0X开头,如果用八

C语言常见的排序方法——冒泡法、选择法、插入法

当我们要对C中一组数据进行排序是常见的排序方法有冒泡法.选择法.插入法 冒泡排序法(升序):假设一组数据a[0].a[1].a[2].a[3]...a[n],第一轮:先比较a[0]与a[1].a[1]与a[2]...a[i]与a[i+1]...a[n-1]与a[n]的大小,如果a[i]与a[i+1]不是升序(即a[i] > a[i+1]),那么就将a[i]与a[i+1]的值互换,第一轮过后,a[n]就是最大值:第二轮:运用第一轮同样的方法,比较a[0]与a[1].a[1]与a[2]...a[i]

数组排序(java)冒泡法

public class ArrayTest03{ /* Name:数组排序,冒泡法 Power by :Stuart Date:2015-4-23*/ public static void main(String args[]){ //定义一个integer数组 int array[]={0,1,4,8,5,4,10,9}; for(int i=0;i<array.length;i++){ //第二层循环从第一层循环的元素第一次后一个开始 for(int j=i+1;j<array.leng

C语言实现冒泡法排序

首先我们看冒泡法排序的原理,假设有一个包含6个数字的数组其思路为:每次将相邻两个数比较,将小的调到前面,如果有6个数:8,7,5,4,2,0.第一次先将最前面的两个数8和7对调(看下图).第二次将第二个数和第三个数(8和5)对调.....如此总计进行了5次,得到7-5-4-2-0-8的顺序,可以看到:最大的数8已经沉底,成为最下面的一个数,而小的数上升.经过第一轮(5次比较)后,得到了最大的数9.   然后进行第二轮的比较(见下图),对余下的7,5,4,2,0进行新一轮的比较,以便使次大的数沉底

排序算法(交换法,选择法,插入排序,冒泡法,快速排序算法,C语言举例)

交换法:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动. 简单选择排序:的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕. 插入排序法:有一个已经有序的

C语言冒泡法用指针实现

// // main.c // 指针和数组 // // Created by 邱学伟 on 15/7/25. // Copyright (c) 2015年 邱学伟. All rights reserved. // #include <stdio.h> #define N 4 //冒泡法用指针实现 //输入 int *enterNumber(); //排序 void sortNumberAsc(int *ptr); //输出 void printNumber(int *ptr); int *en

冒泡法排序参考(Java)

package com.swift; public class Maopao { //冒泡法 public static void main(String[] args) { int[] arr= {28,2,38,1,390,17,10,9,323}; for(int i=0;i<10;i++) { for(int j=0;j<arr.length-1-i;j++) { if(arr[j]>arr[j+1]) { int temp; temp=arr[j]; arr[j]=arr[j+

关于C语言冒泡法

关于冒泡法案例 !!!问题:用冒泡法对10个数排序(由小到大) 冒泡法的思想:将相邻两个数比较,将小的调到前头. #include <stdio.h>int main(){ int i,j,t,a[10]; for(i = 0;i < 10;i++){ scanf("%d",&a[i]); } printf("\n"); for(j=0;j < 9;j++){ for(i = 0;i < 9-j;i++){ if(a[i]>