1、

冒泡排序:有N个数,要比较N-1轮,第一轮比较了N-1次。每增加一轮,次数就会减少一次,则为N-1-i;选择排序法:有N个数,比较N-1次,第一轮找到最小值,放到下标最小的位置上,第二轮找剩下的最小值,如果该值没有在下标第二小的位置上,则把其放到该位置上。

/*
冒泡排序(BubbleSort)的讲解:降序 / 升序。(比较相邻的两个数据)
口诀:两两相比较,小靠前,外循环N-1次,内循环N-1-i次。
*/
public class Test3{
 public static void main(String[] args){
  //--定义个数组
  int[] arr = new int[]{7,2,10,9,45,3};
  //--临时变量
  int temp = 0;
  //最外层比较的次数为:数组的长度-1。N个数比较的轮数为N-1
  for(int i=0;i<arr.length-1;i++){
                  //每一轮比较的次数为N-1-i;第一轮后最大值找到放最后,则下一次比较次数少一。
   for(int j=0;j<arr.length-1-i;j++){
    //--比较两个数据
    if(arr[j]<arr[j+1]){
     int temp = arr[j]; 
     arr[j] = arr[j+1];
     arr[j+1] = temp;
    }
   }
  }
  for(int i=0;i<arr.length;i++){
   System.out.print(arr[i]+" ");
  }
 }
}

2、从键盘输入5个数,用冒泡法按降序排序并输出。

import java.util.Scanner;
public class FourTest{
 public static void main(String[] args){
  //  5,2,3,6,9
  //  5,3,6,9,2
  int[] arr = new int[5];
  int temp;
  Scanner scan = new Scanner(System.in); 
  for(int i=0;i<5;i++){
   System.out.print("请输入第"+(i+1)+"个数据:");
   int number = scan.nextInt();
   arr[i] = number;
  }
  System.out.println("5个数据全部输入完毕!!!");
  for(int i=0;i<arr.length-1;i++){
   for(int k = 0;k<arr.length-1-i;k++){
    //--数据的比较
    if(arr[k]<arr[k+1]){
     temp = arr[k];
     arr[k] = arr[k+1];
     arr[k+1] = temp;
    }
   } 
  }
  for(int i=0;i<arr.length;i++){
   System.out.print(arr[i]+" ");
  }
 }
}

转载于:https://www.cnblogs.com/Ly426/p/4763070.html

Java数组3(2015-8-27)相关推荐

  1. java数组可扩展_[转载]Java数组扩容算法及Java对它的应用

    Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组对象是不可扩容的. 2)利用数组复制方法可以变通的实现数组扩容. 3)System.arraycopy()可以复制数组. 4)Arr ...

  2. java 数组冒泡排序、转置(降序)

    1.java 数组冒泡排序 排序的基本原理(升序): 原始数据:  2 .1 .9 .0 .5 .3 .7 .6 .8: 第一次排序: 1  .2 .0 .5 .3 .7 .6 .8 .9 : 第二次 ...

  3. java 数组的拷贝 对象数组的拷贝 System.arraycopy函数

    /* java 数组的操作   System类的arraycopy静态函数用于数组拷贝   数组是不能越界的 对象数组的复制实际上是复制的引用的拷贝  也就是对象的地址  */ class Point ...

  4. [转载]Java数组扩容算法及Java对它的应用

    原文链接:http://www.cnblogs.com/gw811/archive/2012/10/07/2714252.html Java数组扩容的原理 1)Java数组对象的大小是固定不变的,数组 ...

  5. Java数组数据类型

    Java数组数据类型 数组是多个相同类型的数据的组合,数组中的元素可以是任何类型的数据: 一维数组 1 package com.ahabest.array; 2 public class ArratT ...

  6. java 数组成员_java 数组中含有

    <数据结构与抽象:Java语言描述(原书第4版)>一2.2.1 可变大小数组 本节书摘来华章计算机<数据结构与抽象:Java语言描述(原书第4版)>一书中的第2章 ,第2.2. ...

  7. JAVA数组编程教程,Java入门超经典内部教程-数组

    Java入门超经典内部教程-数组-1.jpg (31.84 KB, 下载次数: 0) 2018-8-18 17:18 上传 叩丁狼教育Java基础教程 1. 数组 1.1. JVM内存模型(掌握) J ...

  8. java数组简单介绍以及其方法

    小谈一下java数组 数组是存放数据的容器,有两个特点:元素类型唯一,长度固定. 一维数组声明:类型[] 数组名;类型 数组名[];推荐用前一种. 多维数组声明同样是以上要求. 在数组创建时,要注意一 ...

  9. java 数组 反射_java数组的反射

    java数组的反射,有一个JAVA API类可以运用:java.lang.reflect.Array 具体应用: 1:判断一个对象是否是数组: int arr[] = {1,2,3}; Class c ...

  10. java 2维数据便利_计算机等级考试二级java数组辅导

    数组(array)是相同类型变量的集合,可以使用共同的名字引用它.数组可被定义为任何类型,可以是一维或多维.数组中的一个特别要素是通过下标来访问它.数组提供了一种将有联系的信息分组的便利方法. 注意: ...

最新文章

  1. php遍历父元素,PHP遍历函数将单个数组转换为具有子元素的嵌套数组 – 基于父标识...
  2. OpenStack 界面开发中的排序问题
  3. linux中ctime,mtime,atime的区别
  4. 轻松进行iPad Safari设置
  5. git部署与基本命令汇总
  6. qq聊天界面 java程序 51cto_Java QQ项目详细设计之:组操作模块
  7. 33行代码AC——例题6-5 移动盒子(Boxes in a Line, UVa 12657)——解题报告
  8. Python文档阅读笔记-OpenCV中Template Matching
  9. python 从大到小循环_python算法(3) 插入排序
  10. 《Go 语言程序设计》读书笔记(十)反射
  11. maven打包报错:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
  12. hana数据库 字段长度_SAP HANA: 列式内存数据库评测
  13. 项目管理中,制定项目进度计划有何意义?
  14. Rayman的绝顶之路——Leetcode每日一题打卡10
  15. 爬取b站最火up主及其粉丝信息
  16. 如何写SCI论文的摘要
  17. CV(1) : 光 颜色 颜色空间
  18. [Windows编程] 利用dxdiag获取用户机器硬件及OS信息
  19. VS中更改项目名称(以VS2017为例)
  20. 张量学习(6):张量代数

热门文章

  1. clickhouse时间日期函数
  2. Linux_开机自动挂载磁盘
  3. jTip定制实现博客日历
  4. ​ [RHEL7.1]重新封装系统(制作模板)
  5. Clouder专项技能认证课程:网站建设——部署与发布
  6. performSelector:withObject:afterDelay: 的用法
  7. 在PPT设计中如何制作有效的图表?
  8. ubuntu基础和来源
  9. SQL 中使用CONVERT转日期格式
  10. reids高可用(灾难备份-持久化)