二维数组与冒泡排序

记住数组顺序是从0开始的!!!

记住数组顺序是从0开始的!!!

记住数组顺序是从0开始的!!!

重要的事情说三遍!

二维数组的静态位

一,Arrays.sort(lsz),//排序操作
针对于整型数据。如果是char型数据或者其他,则按照unicode的编码顺序排序

二,Arrays.copyOf(lsz , 2),//复制操作
可以复制全部或者一部分的长度,上式中就是取前两位数组。

Arrays.copyOfRange(lsz, from, to)//复制操作,注意力两点,首先这个段位的长度可以大于数组的长度,第二,复制的时候不包含最后一个下标所表示的数字,例如,Arrays.copyOfRange(lsz, 0, 2),复制的是0位和1位,不包含2位。

三,Arrays.binarySearch(lsz, 2),//查询操作
式中的2指的是数组中的数据而非下标,当所查询的时候数字被包含于这个数组里面的时候,返回值为这个数字所在的位置。若不在这个数组里面。则返回负数。查询操作可以直接写在输出的()里面。

四,Arrarys.fill(lsz, 2)//填充操作,将一个数组里面的数字全部填充为"2"
Arrarys.fill(lsz, from, to, 2)//部分填充操作,与部分复制的一样,不包含最后一个位置

冒泡排序算法

原理图:

23, 12, 56, 97, 19, 30, 7, 21--------------原始数据

12, 23, 56, 19, 30, 7, 21, 97

12, 23, 19, 30, 7, 21, 56, 97

12, 19, 23, 7, 21, 30, 56, 97

12, 19, 7, 21, 23, 30, 56, 97

12, 7, 19, 21, 23, 30, 56, 97

7, 12, 19, 21, 23, 30, 56, 97

这个是上课的时候讲的例子,可以看出数组的长度为8,实际排序只排序了6次,外层循环int j = 1; j < sz.length; j++,这里是循环了7次(从1到7),但是因为简化程序,控制内层循环,故这里取j = 1,让程序进行7次循环。内部循环当第一次排序完成之后,最后已经排好顺序的数字不需要再进行对比排序,所以每次排序次数是可以相应减少的,第一次7次,第二次6次,第三次5次,以此类推,第7次是一次且仅有一次的空循环。

 1    int[] sz = {23, 12, 56, 97, 19, 30, 7, 21};
 2
 3         for(int i : sz)
 4         {
 5             System.out.print(i + " ");
 6         }
 7         System.out.println();
 8         for(int j = 1; j < sz.length; j++)
 9 {
10         for(int i = 0; i < sz.length - j; i++)
11         {
12                 if (sz[i] > sz[i + 1])       //改变这里大于小于号的方向,可以变成从大到小排列
13                 {
14                     int t;
15                     t = sz[i + 1];
16                     sz[i + 1] = sz[i];
17                     sz[i] = t;                                       //是否可以用重新赋值的方法实现排序
18                 }
19         }
20 }
21         for(int i : sz)
22         {
23             System.out.print(i + " ");
24         }
时间: 2024-08-06 11:58:05

二维数组与冒泡排序的相关文章

二维数组与冒泡排序2

记住数组顺序是从0开始的!!! 记住数组顺序是从0开始的!!! 记住数组顺序是从0开始的!!! 重要的事情说三遍! 13, 24, 54, 17, 45, 12, 33, 68, 46, 53, 91, 67, 44--------------------原始数据 13, 24, 17, 45, 12, 33, 54, 46, 53, 68, 67, 44, 9113, 17, 24, 12, 33, 45, 46, 53, 54, 67, 44, 68, 9113, 17, 12, 24, 3

数组的应用:冒泡排序,折半查找及二维数组的应用

人类思维--计算机逻辑思维 逻辑思维--代码实现 写书法: 描红——临摹——碑贴——自成一体——草 复习: 数组:一维,二维,多维 一维:豆角.连续,同一类型. 定义:数据类型[] 数组名=new 数据类型[长度]{.,.,.,.}; 赋值:数组名[下标] = 值 取值:数组名[下标] 灵活运用:与for循环的结合应用. 1.求最大值,最小值. 2.求总和,平均. 3.随机(生成下标)抽值. 数组的应用: (一).冒泡排序. 1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数. 2

数组的应用:一。冒泡排序二。折半查找!二维数组的学习。

数组的应用:(一).冒泡排序.1.冒泡排序是用双层循环解决.外层循环的是趟数,里层循环的是次数.2.趟数=n-1:次数=n-趟数.3.里层循环使用if比较相临的两个数的大小,进行数值交换. 作业:1.先把冒泡排序写一遍.2.使用冒泡排序,做青歌赛的打分程序.要求去掉两个最高,两个最低分,求平均得分. 代码. (二).折半查找.前提:数组必须是有序的.思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间(mid)的下标.1.求中间下标:mid = (top+bo

C语言 数组输出,冒泡排序法,沉底排序法,二维数组输出,输出字母列长度,从随机数组中找重复数

#include <stdio.h> #define sum 3+4//宏定义是原封不动的使用used for test4 #include <time.h>//used for test8~9 #include <stdlib.h>//used for test8~9 void test(){//数组输出 //int a[5]={1,2,3,4,5}; printf("array output,look,please...\n"); int a[1

晓莲说-何不原创:java 实现二维数组冒泡排序

新手从业路-为自己回顾知识的同时,也希望和大家分享经验: 话不多说,上代码 public class 冒泡排序 { /**     * @param admin     * @2017.12.4     */    public static void main(String[] args) {       int[][] array=new int[10][3];    //新建一个二维数组              //对数组进行赋值(以日期为例)       array[0][0]=201

0728二维数组/集合

二维数组int [,] array = new int[5,3];//有五个一维数组,每一个一维数组有3个元素 /打印出来一个“王”这个字string[,] wang = new string[,]{  {" ","■","■","■","■","■"," "}, {" "," "," ","■&q

c# 类;一维数组;二维数组

1. 输入邮箱帐号,判断格式是否正确  (1)有且只有一个@          Contains IndexOf ==LastIndexOf  (2)不能以@开头           StartsWith  (3)@之后至少有一个.     Contains   (4)@和.不能靠在一起     Contains  (5)不能以.结尾             EndsWith Console.Write("请输入邮箱帐号:"); string a = Console.ReadLine(

[java学习笔记]java语言基础概述之数组的定义&amp;常见操作(遍历、排序、查找)&amp;二维数组

1.数组基础 1.什么是数组:           同一类型数据的集合,就是一个容器. 2.数组的好处:           可以自动为数组中的元素从零开始编号,方便操作这些数据. 3.格式:  (一旦创建,必须明确长度)          格式1:              元素类型   [ ]  数组名  =  new  元素类型  [元素个数即数组的长度]:              示例:int[] array = new int[5];          格式2:           

二维数组的列排序

给出一个二维数组,请将这个二维数组按第i列(i从1开始)排序,如果第i列相同,则对相同的行按第i+1列的元素排序,如果第i+1列的元素也相同,则继续比较第i+2列,以此类推,直到最后一列.如果第i列到最后一列都相同,则按原序排列. 实现以下接口: 输入一个m*n 的整数数组,实现按规则排列,返回排列后的数组. 调用者会保证: 比如输入数组为: 1,2,3 2,3,4 2,3,1 1,3,1 按第二列排序: 输出: 1,2,3 2,3,1 1,3,1 2,3,4 分析:从最后一列开始使用稳定的排序