- 浏览: 123544 次
- 性别:
- 来自: 佛山
文章分类
最新评论
-
zgw06629:
多谢提供的安装包
MyEclipse安装资源文件支持中文插件编辑属性 -
lmzpp:
学习了,谢谢
MyEclipse安装资源文件支持中文插件编辑属性 -
nba:
不错, 谢谢了
MyEclipse安装资源文件支持中文插件编辑属性 -
CMShmily:
MyEclipse安装资源文件支持中文插件编辑属性
数组的排序
实例74 冒泡排序法
public class SortArray_01 { public static void main(String args[]) { int[] array = { 14, 5, 86, 4, 12, 3, 21, 13, 11, 2, 55 }; // 创建一个初始化的一维数组array System.out.println("未排序的数组:"); for (int i = 0; i < array.length; i++) { // 遍历array数组中的元素 System.out.print(" " + array[i]); // 输出数组元素 if ((i + 1) % 5 == 0) // 每5个元素一行 System.out.println(); } int mid; // 定义一个中间变量,起到临时存储数据的作用 for (int i = 0; i < array.length; i++) { // 执行冒泡排序法 for (int j = i; j < array.length; j++) { if (array[j] < array[i]) { mid = array[i]; array[i] = array[j]; array[j] = mid; } } } System.out.println("\n使用冒泡法排序后的数组:"); for (int i = 0; i < array.length; i++) { // 遍历排好序的array数组中的元素 System.out.print(" " + array[i]); // 输出数组元素 if ((i + 1) % 5 == 0) System.out.println(); // 每5个元素一行 } } }
实例75 数组递增排序
import java.util.Arrays; import java.util.Random; public class SortArray_02 { public static void main(String[] args) { Random rd = new Random(); int[] array = new int[15]; // 声明数组 System.out.println("没有使用sort方法前的数组:"); for (int i = 0; i < array.length; i++) { // 利用随机数随意产生15个0~20之间的随机数 array[i] = rd.nextInt(20); // 给array数组赋值 System.out.print(" " + array[i]); if ((i + 1) % 5 == 0) System.out.println(); } Arrays.sort(array); // 对array数组进行升序排序 System.out.println("\n使用sort方法后的数组:"); for (int i = 0; i < array.length; i++) { // 将array数组中的数据输出 System.out.print(" " + array[i]); if ((i + 1) % 5 == 0) System.out.println(); } } }
实例76 部分数组递增排序
import java.util.Arrays; import java.util.Random; public class SortArray_03 { public static void main(String[] args) { Random rd = new Random(); int[] array = new int[15]; // 声明数组 System.out.println("没有使用sort方法前的数组:"); for (int i = 0; i < array.length; i++) { // 利用随机数随意产生15个0~20之间的随机数 array[i] = rd.nextInt(20); // 给array数组赋值 System.out.print(" " + array[i]); if ((i + 1) % 5 == 0) System.out.println(); } Arrays.sort(array,5,14); // 对array数组中的第5个元素~第13个元素之间进行升序排序 System.out.println("\n使用sort方法后的数组:"); for (int i = 0; i < array.length; i++) { // 将array数组中的数据输出 System.out.print(" " + array[i]); if ((i + 1) % 5 == 0) System.out.println(); } } }
实例77 选择排序法
public class SortArray_04 { public static void main(String args[]) { int[] array = { 14, 5, 86, 4, 12, 3, 51, 13, 11, 2, 32, 6 }; // 创建一个初始化的一维数组array int keyValue; // 表示最小的元素值 int index; // 表示最小的元素值的下标 int temp; // 中间变量 System.out.println("未排序的数组:"); for (int i = 0; i < array.length; i++) { // 遍历array数组中的元素 System.out.print(" " + array[i]); // 输出数组元素 if ((i + 1) % 5 == 0) // 每5个元素一行 System.out.println(); } for (int i = 0; i < array.length; i++) { // 使用选择排序法的核心 index = i; keyValue = array[i]; for (int j = i; j < array.length; j++) if (array[j] < keyValue) { index = j; keyValue = array[j]; } temp = array[i]; array[i] = array[index]; array[index] = temp; } System.out.println("\n使用选择排序法后的数组:"); for (int i = 0; i < array.length; i++) { // 遍历排好序的array数组中的元素 System.out.print(" " + array[i]); // 输出数组元素 if ((i + 1) % 5 == 0) System.out.println(); // 每5个元素一行 } } }
实例78 快速排序法
public class SortArray_05 { public static void main(String args[]) { int[] intArray = { 12, 11, 45, 6, 8, 43, 40, 57, 3, 20, 15 }; System.out.println("排序前的数组:"); for (int i = 0; i < intArray.length; i++) { System.out.print(" " + intArray[i]); // 输出数组元素 if ((i + 1) % 5 == 0) // 每5个元素一行 System.out.println(); } System.out.println(); int[] b = quickSort(intArray, 0, intArray.length - 1); // 调用quickSort System.out.println("使用快迅排序法后的数组:"); for (int i = 0; i < b.length; i++) { System.out.print(" " + b[i]); if ((i + 1) % 5 == 0) // 每5个元素一行 System.out.println(); } } public static int getMiddle(int[] array, int left, int right) { int temp; // 进行一趟快速排序,返回中心点位置 int mid = array[left]; // 把中心置于a[0] while (left < right) { while (left < right && array[right] >= mid) right--; temp = array[right]; // 将比中心点小的数据移动到左边 array[right] = array[left]; array[left] = temp; while (left < right && array[left] <= mid) left++; temp = array[right]; // 将比中心点大的数据移动到右边 array[right] = array[left]; array[left] = temp; } array[left] = mid; // 中心移到正确位置 return left; // 返回中心点 } public static int[] quickSort(int[] array, int left, int right) {// 快速排序法 if (left < right - 1) { // 如果开始点和结点没有重叠的时候,也就是指针没有执行到结尾 int mid = getMiddle(array, left, right); // 重新获取中间点 quickSort(array, left, mid - 1); quickSort(array, mid + 1, right); } return array; } }
发表评论
-
JAVA范例 十九) 多媒体与图像处理 (二)
2011-09-30 19:27 1634图像处理 实例354 在计算机内存中创建一个图像 i ... -
JAVA范例 十九) 多媒体与图像处理
2011-09-30 18:40 1461a多媒体 实例349 测试音频播放器 import j ... -
JAVA范例 - Applet小应用程序
2011-09-30 18:27 3272Applet小应用程序 实例337 不断变大的文字 ... -
JAVA范例 十七)界面-Swing(二)
2011-09-30 18:06 1395实例326 BorderLayout版面布局 imp ... -
JAVA范例 十七)界面-Swing(一)
2011-09-30 17:51 2156实例306 JFrame框架的应用 import j ... -
JAVA范例 十六)数据库技术
2011-07-21 20:16 1633数据库技术 实例293 加载JDBC驱动程序 ... -
JAVA范例 十五)网络编程
2011-07-21 17:38 140715.1 IP地址 实例270 获 ... -
JAVA范例 十四)泛型
2011-07-21 17:30 1173第14章 泛型 14 ... -
JAVA范例 十三)多线程编程(3)
2011-07-21 17:12 1566线程应用实例 实例244 下雪的村庄 ... -
JAVA范例 十三)多线程编程(2)
2011-07-21 17:06 121213.3 线程的优先级 实例238 排座位(线程优 ... -
JAVA范例 十三)多线程编程(1)
2011-07-21 16:07 1743第13章 多线程编程 13.1 多线程的五种基本状态 ... -
JAVA范例 十二)Java高级开发技术
2011-07-21 13:55 142912.1 Set 实 ... -
JAVA范例 十一)JAVA常用类
2011-07-21 13:34 139011.1 数学Math类 实例186 求圆周率∏值 ... -
JAVA范例 十) 内部类与接口
2011-07-21 12:30 1057内部类与接口 10.1 成员内部类 ... -
JAVA范例 九)面向对象---面向对象的四大特征
2011-07-21 11:50 17229.1 抽象 实例 ... -
JAVA范例 八)面向对象---面向对象的设计模式、垃圾回收
2011-07-21 11:43 9828.3 面向对象的 ... -
JAVA范例 八)面向对象---类、成员变量和方法
2011-07-21 11:30 1736类 实例148 简单的通讯录类 p ... -
JAVA范例 七)输入/输出流---字符流
2011-07-21 02:40 2186字符流 实例140 按顺序创建文件 ... -
JAVA范例 七)输入/输出流---字节流
2011-07-21 02:28 19967.2 字节流 实例123 复制指定目录下的文件 ... -
JAVA范例 七)输入/输出流---文件和目录
2011-07-21 02:16 1737文件和目录 实例116 ...
相关推荐
【Java范例程序.rar_Java范例】是一个包含基础Java编程示例的压缩包,适合初学者或希望巩固基础知识的开发者。这个压缩包中的资源旨在帮助用户理解和掌握Java语言的关键概念,通过实际代码来演示如何编写和运行Java...
【Java通用范例开发金典配套源代码】涵盖了Java编程中的多个重要知识点,包括类的处理、静态成员的使用、类反射、字符处理、数组与集合的处理以及窗体效果等。以下是对这些知识点的详细解释: 1. **类的处理**: -...
1.9 Java、Internet与万维网--------------------------------------------7 1.10 其它高级语言------------------------------------------------------8 1.11 结构化编程-----------------------------------...
实例76 部分数组递增排序 103 实例77 选择排序法 104 实例78 快速排序法 106 第6章 字符串(教学视频:138分钟) 108 6.1 字符串类String 108 实例79 创建字符串类 108 实例80 如何使用charAt()方法计算重复字符 109...
《Java范例开发大全》是一本详尽的Java编程实践指南,涵盖了从基础语法到高级特性的各种示例。这本书通过377个精心设计的实例,旨在帮助读者深入理解和掌握Java编程技术。 1. **基础语法**:书中首先介绍了如何开发...
- 数组排序、查找等操作。 #### 五、面向对象基础 - **面向对象的基本概念** - 对象、类、属性、方法。 - 封装、继承、多态。 - **类与对象** - 类的定义。 - 对象的创建和使用。 - **封装性** - 私有成员...
实例14 数组排序 35 实例15 数组搜索 37 实例16 去掉数组重复数字 39 实例17 求质数(素数) 41 实例18 矩阵的加减和转置 43 实例19 数组实现顺序栈与队列 46 实例20 Arrays数组的应用 50 第5章 面向对象设计...
- Java 5引入的增强for循环:简化了数组遍历过程。 - Java 8的流API:提供了更强大的数组处理能力。 #### 第五章:面向对象(基础) - **面向对象、类与对象的定义** - 面向对象编程的基本概念:封装、继承、...
《Java范例开发大全》是一本面向初学者和进阶者的学习资料,涵盖了广泛的Java编程实践。这本书通过377个实例,详细讲解了Java语言的基础知识和常见操作,旨在帮助读者深入理解Java编程概念并提升编程技能。以下是...
实例76 部分数组递增排序 103 实例77 选择排序法 104 实例78 快速排序法 106 第6章 字符串(教学视频:138分钟) 108 6.1 字符串类String 108 实例79 创建字符串类 108 实例80 如何使用...
实例76 部分数组递增排序 103 实例77 选择排序法 104 实例78 快速排序法 106 第6章 字符串(教学视频:138分钟) 108 6.1 字符串类String 108 实例79 创建字符串类 108 实例80 如何使用charAt()方法计算重复字符 109...
Java范例开发大全(全书源程序),目录如下: 第1篇 Java编程基础 第1章 Java开发环境的搭建(教学视频:9分钟) 2 1.1 理解Java 2 1.2 搭建Java所需环境 3 1.2.1 下载JDK 3 1.2.2 安装JDK 4 1.2.3 配置环境...
实例76 部分数组递增排序 103 实例77 选择排序法 104 实例78 快速排序法 106 第6章 字符串(教学视频:138分钟) 108 6.1 字符串类String 108 实例79 创建字符串类 108 实例80 如何使用charAt()...
在本Java范例集合中,我们探讨了一系列的编程示例,涵盖了从基础概念到复杂应用的广泛主题。这些示例不仅适用于初学者,也对有经验的开发者有所帮助,旨在加深对Java语言的理解和实践能力。"吉他手元件&範例"这个...
这些排序算法在Java中的实现为学习和理解各种排序算法的工作原理和实现提供了很好的范例。了解这些算法不仅对于掌握Java语言本身是重要的,对于提升编程逻辑思维以及解决实际编程问题也是非常有帮助的。此外,在进行...
SortDemo.java 排序示例 travelTwoDime.java 遍历二维数组 traversing.java 遍历一维数组 useStrBuf.java 使用StringBuffer示例 useString.java 使用String示例 YanghuiTri.java 构造和显示杨辉三角 第6章 ...
Java实战范例主要展示了如何在Java编程中实现多线程操作。在第一个实例中,我们看到如何创建并启动两个线程来对同一个数组进行不同顺序的排序和输出。这个例子的核心在于`IntPrint`类,它继承自`Thread`类。`Int...
比如,我们可以用`Arrays::sort`方法来排序一个数组: ```java int[] array = {3, 1, 4, 1, 5, 9}; Arrays.sort(array, Integer::compareTo); ``` ### 并行流 Stream API还支持并行流,利用多核处理器的并行计算...
- 排序算法:冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,以及它们的时间复杂度和空间复杂度分析。 - 搜索算法:线性搜索、二分搜索、哈希表搜索,了解不同搜索策略的优缺点。 - 图形算法:...
总之,希尔排序是一个优秀的算法,它不仅是学习排序原理的良好范例,而且在实际应用中也是一个十分有用的工具。对于需要在特定条件下优化性能的场景,希尔排序提供了一个既简单又有效的解决方案。