Java 数组 之 一维数组 冒泡排序算法

http://www.verejava.com/?id=16992682424030

/*
用冒泡算法:将成绩arrays 从小到大排序输出
思路:
    第一趟排序
    1. 将数组中n个元素从第一个元素开始 一一跟后面的元素比较
    2. 如果前面的数据比后面的数据大, 两个交换位置直到一次循环完成,那么数组中最大的数据将会排在数组的最后一个位置。
    第 i 趟排序
    3. 依次类推, 将剩下未排序的n-i个元素再类似 1,2过程一遍,这样直到循环 n次结束后,数组中的元素就是从小到大排好序了.

    注意: 只需要经过 n-1趟排序
*/

public class BubbleSort
{
    public static void sort(int[] arrays){
        //第一个循环控制n-1趟排序
        for(int i=0;i<arrays.length-1;i++)
        {
            //第二个循环控制每次要比较的元素个数n-1
            for(int j=0;j<arrays.length-i-1;j++)
            {
                if(arrays[j]>arrays[j+1])
                {
                    int flag=arrays[j];
                    arrays[j]=arrays[j+1];
                    arrays[j+1]=flag;
                }
            }
        }
    }
    public static void main(String[] args)
    {
        //一维数组的定义和初始化
        int[] scores={90,70,50,80,60,85};

        sort(scores);

        //输出排序后的 scores
        for(int i=0;i<scores.length;i++)
        {
            System.out.print(scores[i]+",");
        }

    }
}

http://www.verejava.com/?id=16992682424030

原文地址:https://www.cnblogs.com/verejava/p/9192107.html

时间: 2024-10-11 01:31:15

Java 数组 之 一维数组 冒泡排序算法的相关文章

[C++]二维数组还是一维数组?

记得刚学习C++那会这个问题曾困扰过我,后来慢慢形成了不管什么时候都用一维数组的习惯,再后来知道了在一维数组中提出首列元素地址进行二维调用的办法.可从来没有细想过这个问题,最近自己写了点代码测试下,虽然还是有些不明就里,不过结果挺有意思. 为了避免编译器优化过度,用的是写操作,int,测试分为不同大小的空间,同样大小空间不同的行和列数.分别记录逐行写入,逐列写入,按间隔写入,空间申请和释放的时间. 测试代码 一维数组的申请和释放 1 // Create 2 int *m = new int[n_

php多维数组化一维数组

一.使用foreach <?php function arr_foreach ($arr) { static $tmp=array(); if (!is_array ($arr)) { return false; } foreach ($arr as $val ) { if (is_array ($val)) { arr_foreach ($val); } else { $tmp[]=$val; } } return $tmp; } $a = array(1,2=>array(3,4=>

数组(一维数组数组 )

数组:具有相同类型的若干变量按有序的形式组织起来的一种形式.这些按序排列的同类数据元素的集合称为数组. 一维数组定义的时候,需要数据类型.能够存放元素的数量int[] n = new int[5];按照顺序:索引 从0开始(搜索字符总比实际长度少1)n[0] = 3;n[1] = 3;n[2] = 3;n[3] = 3;n[4] = 3;n[5] = 3;错误,索引号超出界限(因为之际为5 ,搜索长度只能到4) 数组就是一个比较整体的概念.把类别区分开,然后引入变量表示顺序.利用冒泡循环来的到结

PHP学习之中数组-遍历一维数组【2】

在PHP学习之中数组[1]中学会怎么创建一个数组,如果PHP学习之中数组[1]中的元素多的话,我们访问元素又是一个问题了,下面我们就使用for语句while,foreach来遍历我们的数组: <?php /* range()原型: * array range ( mixed $start , mixed $limit [, number $step = 1 ] ) * 参数说明: * start 序列的第一个值. limit 序列结束于 limit 的值. step 如果给出了 step 的值,

数组(一维数组、二维数组)

数组概述 C# 数组从零开始建立索引,即数组索引从零开始.C# 中数组的工作方式与在大多数其他流行语言中的工作方式类似.但还有一些差异应引起注意. 这些其实和泛型有些类似,数组的操作没有泛型方便,但是性能却不是泛型所能比拟的 声明数组时,方括号 ([]) 必须跟在类型后面,而不是标识符后面.在 C# 中,将方括号放在标识符后是不合法的语法. int[] table; // not int table[]; 另一细节是,数组的大小不是其类型的一部分,而在 C 语言中它却是数组类型的一部分.这使您可

将二维数组转为一维数组的2种方法

如何将下面的二维数组转为一维数组. 代码如下: $msg = array( array( 'id'=>'45', 'name'=>'jack' ), array( 'id'=>'34', 'name'=>'mary' ), array( 'id'=>'78', 'name'=>'lili' ), ); 第一种方法: 代码如下: foreach($msg as $k => $v){ $ids[] = $id; $names[] = $name; } 第二种方法: 代

implode 多维数组转一维数组并字符串输出

//多维数组返回一维数组,拼接字符串输出 public function r_implode( $glue, $pieces ) { foreach( $pieces as $r_pieces ) { if( is_array( $r_pieces ) ) { $retVal[] = self::r_implode( $glue, $r_pieces ); } else { $retVal[] = $r_pieces; } } return implode( $glue, $retVal );

多维数组变成一维数组

将多维数组变成一维数组: /** * @method 多维数组变成一维数组 * @staticvar array $result_array * @param type $array * @return type */ private function array_multi2array($array) { static $result_array = array(); foreach ($array as $key => $value) { if (is_array($value)) { $t

C# 数组、一维数组、二维数组、多维数组、锯齿数组

C#  数组.一维数组.二维数组.多维数组.锯齿数组 一.数组: 如果需要使用同一类型的对象,就可以使用数组,数组是一种数据结构,它可以包含同一类型的多个元素.它的长度是固定的,如长度未知的情况下,请使用集合. 二.一维数组: 声明及初始化: class Program { static void Main(string[] args) { //方法一 int[] num = new int[3];//声明一个长度为3的值类型的数组: num[0] = 3;//为数组赋值: num[1] = 5

把简单的二维数组变成一维数组

在工作中我们经常需要把二维数组变成一维数组.那么就需要循环拿出来,其实有时候我们可以使用一些小技巧,借助php的内置函数来实现,但是我说的只是简单的二维数数组$arr= array('name'=>array('a'=>'abc','b'=>'bcd','c'=>'cde'));如果我们使用array_pop(),就可以拿到一维数组了,array_pop()本来是删除并返回数组的最后一个元素. 所以我们就可以将上诉的$arr变成array('a'=>'abc','b'=>