数组(二)

一:数组排序

选择排序

public class ArrayPaixuDemo {
    public static void main(String[] args) {
        int []arr={3,1,6,8};

        for(int x=0;x<arr.length-1;x++){
            for(int y=x+1;y<arr.length;y++){
                if(arr[x]>arr[y]){
                    //换位置,用第三方变量
                    int temp;
                    //把角标0的值给第三方
                    temp=arr[x];
                    //把角标1的值给角标0
                    arr[x]=arr[y];
                    //把第三方给角标1
                    arr[y]=temp;

                }
            }
        }
        for(int x=0;x<arr.length;x++)
        System.out.print("["+arr[x]+"]");
    }

}

冒泡排序

相邻两个元素进行比较,

第一次换位,如果符合条件换位,小的往左移动

第二次换位,最后一个数不用参加

以此类推...

总共比较a.length-1次

public class BubbleDemo {
    public static void main(String[] args) {
        int arr[]={3,1,6,9};
        for(int x=0;x<arr.length-1;x++){
            for(int y=0;y<arr.length-x-1;y++){
                //y+1会出现越界,把length-x变成length-x-1
                if(arr[y]>arr[y+1]){
                    int temp=arr[y];
                    arr[y]=arr[x];
                    arr[x]=temp;
                }
            }

        }
        for(int x=0;x<arr.length;x++)
            System.out.print("["+arr[x]+"]");
    }

}
时间: 2024-08-07 04:23:30

数组(二)的相关文章

hihocoder #1407 : 后缀数组二&#183;重复旋律2

#1407 : 后缀数组二·重复旋律2 Time Limit:5000ms Case Time Limit:1000ms Memory Limit:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列.小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律. 旋律可以表示为一段连续的数列,相似的旋律在原数列不可重叠,比如在1 2 3 2 3 2 1 中 2 3 2 出现了一次,2 3 出现了两次,小Hi想知道一段旋律中出现次数至少为两次

java学习之数组(二)

学编程吧java数组学习(二)发布了,欢迎大家通过xuebiancheng8.com来访问. 下面接着来分析数组,前面分析了什么是数组,为什么要用数组,下面来分析下如何使用数组 数组和其他数据类型一样,使用前要先定义.如下 int a[];这样就声明了一个数组 a = new int[10];然后为这个数组申请10个大小的空间 a[0] = 1; a[1] = 2; ....等等来为数组 赋值,为数组赋值完成后就可以通过下标来访问数组 当然数组在定义的时候也可以讲上面操作合并即 int a []

后缀数组二&#183;重复旋律2

后缀数组二·重复旋律2 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列.小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律. 旋律可以表示为一段连续的数列,相似的旋律在原数列不可重叠,比如在1 2 3 2 3 2 1 中 2 3 2 出现了一次,2 3 出现了两次,小Hi想知道一段旋律中出现次数至少为两次的旋律最长是多少? 解题方法提示 输入 第一行一个整数 N.1≤

C++ 一维数组 二维数组 指针

1.int a[3] = {1, 2, 3}a代表数组的首地址&a[0]也是数组的首地址 2.// int a[2][2] = {0, 1, 2, 3}; // **a 就是 a[0][0] 第一行第一列.// *(*a + 1) 就是 a[0][1] 第一行第二列.// **(a + 1) 就是 a[1][0] 第二行第一列.// *(*(a + 1) + 1) 就是 a[1][1] 第二行第二列. 3.int a[3][3] = {{1, 2, 3}, {4, 5, 6}, {7, 8, 9

C语言学习笔记:18_数组-二维数组

/* * 18_数组-二维数组.c * * Created on: 2015年7月6日 * Author: zhong */ #include <stdio.h> #include <stdlib.h> /** * 二维数组: * 为什么要用二维数组呢; * 例如: 网络班有2个班,每班有5人. * 要想存储一班的学生的年龄 定义一个一维数组搞定 int ages[5]={18,19,20,18,19}; * 然后将两个班中的所有年龄分开存入一个数组中 int classes[2]

hiho一下121周 后缀数组二&#183;重复旋律2

后缀数组二·重复旋律2 时间限制:5000ms 单点时限:1000ms 内存限制:256MB 描述 小Hi平时的一大兴趣爱好就是演奏钢琴.我们知道一个音乐旋律被表示为长度为 N 的数构成的数列.小Hi在练习过很多曲子以后发现很多作品自身包含一样的旋律. 旋律可以表示为一段连续的数列,相似的旋律在原数列不可重叠,比如在1 2 3 2 3 2 1 中 2 3 2 出现了一次,2 3 出现了两次,小Hi想知道一段旋律中出现次数至少为两次的旋律最长是多少? 解题方法提示 输入 第一行一个整数 N.1≤N

数据结构 二维数组--&gt;稀疏数组--&gt;二维数组

稀疏数组基本概念: 稀疏数组应用场景: 当一个数组大部分的元素为"0",或者为同一个值的数组时,可以使用稀疏数组来保存该数组 处理方法: 1>记录数组一共有几行几列,有多少不同的值 2>把具有不同值的元素行列及值记录在一个小规模数组中,从而缩小程序规模 row col val [0]   总行       总列 有效数量 [1]  第一个数据行  第一个数据列 第一个数据值 [2]  第二个数据行 第二个数据列 第二个数据值 二维数组==>稀疏数组思路: 1>遍

【转】C++动态创建二维数组,二维数组指针

原作者博客:蒋国宝的IT技术博客 今天完成一道题目需要自己用指针创建一个二维的数组,不得不承认指针的确是恶心. int **result; int row = 4; int col = 5; result = new int*[row]; for (int i=0; i<row; i++) { result[i] = new int[col]; } for (int i=0; i<row; i++) { for (int j=0; j<col; j++) { result[i][j] =

java 获取数组(二维数组)长度实例程序

我们可能知道 js有个length函数,java也有啊length函数 例 如果数组是data[],则data.length 代码如下 复制代码 byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81 phone[i]!=0中phone[i]! //数组的第i的位置不等0 如: 代码如下 复制代码 byte[] phone =new byte[81]; //建立一个byte类型的数组,长度为81 phone[1]!=0中phone[1]! //数组第二

20141225 数组二

数组内存分析 数组在内存中的存在形式. foreach内存分析 php二维数组 php中只有一维数组,没有理论上的二维数组. php的二维数组:指的是在数组元素值出现的位置上,刚好又出现了一个数组 $arr = array( 0 =>array(0 =>1),1 => array(0 => 2)) $arr[0] //访问一维数组元素 $arr[0][0]//访问二维数组元素 遍历二维数组 通常二维数组都是进行一层foreach遍历,一维数组是不需要遍历的,直接通过下标访问. ea