二维数组与冒泡排序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, 91
13, 17, 24, 12, 33, 45, 46, 53, 54, 67, 44, 68, 91
13, 17, 12, 24, 33, 45, 46, 53, 54, 44, 67, 68, 91
13, 12, 17, 24, 33, 45, 46, 53, 44, 54, 67, 68, 91
12, 13, 17, 24, 33, 45, 46, 44, 53, 54, 67, 68, 91
12, 13, 17, 24, 33, 45, 44, 46, 53, 54, 67, 68, 91
12, 13, 17, 24, 33, 44, 45, 46, 53, 54, 67, 68, 91

看完了课堂上的例子,自己也写了一个数组,练习一下,发现了这样一个问题,所套用的两个for循环中外层的那个循环次数与数组的长度并没有关系,上面的数组长度是13,但是循环了7次就完成了排序,但是程序是循环了12次,后面有5次是空循环,课堂上的例子数组长度为8,循环了6次完成了排序,只是要配合控制内层的循环,所以后面的空循环是必要的,可见外层循环的次数其实跟原始数据的排列是有关系的。

不知道这样理解对还是不对,希望老师同学给指导一下。

有图有真相

int[] we = new int[]{13, 24, 54, 17, 45, 12, 33, 68, 46, 53, 91, 67, 44};
        for(int q : we)
        {
            System.out.print(q + " ");
        }

for(int b = 1; b < we.length; b++)
    {
        for(int a = 0; a < we.length - b; a++)
        {
            if(we[a] > we[a + 1])
            {
                int n = we[a + 1];
                we[a + 1] = we[a];
                we[a] = n;
            }
        }
    }
        System.out.println();

        for(int q : we)
        {
            System.out.print(q + " ");
        }
时间: 2025-01-20 05:17:50

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

二维数组与冒泡排序

记住数组顺序是从0开始的!!! 记住数组顺序是从0开始的!!! 记住数组顺序是从0开始的!!! 重要的事情说三遍! 二维数组的静态位 一,Arrays.sort(lsz),//排序操作针对于整型数据.如果是char型数据或者其他,则按照unicode的编码顺序排序 二,Arrays.copyOf(lsz , 2),//复制操作可以复制全部或者一部分的长度,上式中就是取前两位数组. Arrays.copyOfRange(lsz, from, to)//复制操作,注意力两点,首先这个段位的长度可以大

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

人类思维--计算机逻辑思维 逻辑思维--代码实现 写书法: 描红——临摹——碑贴——自成一体——草 复习: 数组:一维,二维,多维 一维:豆角.连续,同一类型. 定义:数据类型[] 数组名=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 分析:从最后一列开始使用稳定的排序