冒泡法排序参考(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+1];
                    arr[j+1]=temp;
                }
            }
        }
        for(int i=0;i<arr.length;i++) {
            System.out.println(arr[i]);
        }
    }

}
时间: 2024-10-08 16:16:52

冒泡法排序参考(Java)的相关文章

简单排序算法:冒泡法排序(Java)

冒泡排序口诀:两两比较,两两交换. 操作对象:乱序数组 操作方式:双循环以及内层循环中条件的判断 操作结果:升序或降序数组 举例: 给定一个数组:int[] arr = new int[]{99,33,21,14,65,11,9,45,22,10}; 对此数组进行升序排列. 分析:越大的数越要下沉,最大的数沉底:越小的数越要上浮,最小的数浮顶.上面数组中一共有10个数,实现这10个数的升序排列一共分两方面: 第一方面:一轮一轮(或者说一趟一趟)地从左往右遍历数组,每一轮操作之后产生一个最大数放到

8. 冒泡法排序和快速排序(基于openCV)

一.前言 主要讲述冒泡法排序和快速排序的基本流程,并给出代码实现,亲测可用. 二.冒泡法排序 冒泡法排序主要是将相邻两个值比较,把小的向前冒泡,大的向后沉淀,时间复杂度为O(n2).主要思想如下: 分为内外循环,每次外循环确定一个大的数据的具体位置,如下实例: 从图中可以看出,进过两次外循环就可以得到排序结果,随后的8次循环都浪费了,为了避免这种情况,我们可以设置一个状态参数,用来表示内循环是否发生数据的交换,从而作为外循环是否退出的信号. 三.快速排序 快速排序是最有效的排序方法之一,其主要思

数组-03. 冒泡法排序

数组-03. 冒泡法排序(20) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 8000 B 判题程序 Standard 作者 徐镜春(浙江大学) 将N个整数按从小到大排序的冒泡排序法是这样工作的:从头到尾比较相邻两个元素,如果前面的元素大于其紧随的后面元素,则交换它们.通过一遍扫描,则最后一个元素必定是最大的元素.然后用同样的方法对前N-1个元素进行第二遍扫描.依此类推,最后只需处理两个元素,就完成了对N个数的排序. 本题要求对任意给定的K(<N),输出扫描完第K遍后的中间

数组-03. 冒泡法排序(20)

1 #include<iostream> 2 using namespace std; 3 int main(){ 4 int i,j,n,k,a[100],tmp; 5 cin>>n>>k; 6 for(i=0;i<n;++i) 7 cin>>a[i]; 8 for(j=0;j<k;++j) 9 for(i=0;i<n-j-1;++i) //注意-1 10 if(a[i]>a[i+1]){ 11 tmp=a[i]; 12 a[i]=

冒泡法排序_c++实现

看完了郝斌老师的c语言视频,冒泡法排序,就试着写了.我觉得学习算法最重要的不是代码,而是它的原理. 代码: 1 /** 2 * Copyright (c) 1991 - 2016 Arvin Tang. 3 * All rights reserved. 4 * 5 * 文件名称:郝斌C语言视频教程_163_冒泡排序 6 * 简要描述:用冒泡法排序 7 * 8 * 当前版本:1.0 9 * 作 者: 10 * 完成日期:2016-1-9 11 * 修订说明: 12 * 13 * 取代版本: 14

选择法和冒泡法排序接口

#define ret_ok 0 #define ret_err 1 #define ARRAY_SIZE 10 /*选择法排序*/ int Choice_Sort(int array[],int array_len) { int i = 0; int j = 0; int iMin = 0; int iTemp = 0; int iFlag = 0; for(i=0;i<array_len-1;i++) { iMin = i; for(j=i+1;j<array_len;j++) { if(

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#冒泡法排序源码

如下内容内容是关于C#冒泡法排序的内容,应该对码农有一些用途. int[] myArray = new int[] { 10, 8, 3, 5, 6, 7, 4, 6, 9 }; for( int j=1;j<myArray.Length;j ++ ) { for(int i=0;i<myArray.Length - 1;i ++) { if( myArray[i]>myArray[i+1]) { int temp = myArray[i]; myArray[i] = myArray[i

php 冒泡法 排序

1 <?php 2 /** 3 * php 冒泡法 4 * @param $arr 5 * @param string $order 排序符 6 * @return $arr 7 */ 8 function orderarr(&$arr, $order = 'asc') 9 { 10 if (!$arr) return false; 11 $len = count($arr); 12 for ($i = 0; $i < $len; $i++) { 13 for ($j = 1; $j