`
qing_gee
  • 浏览: 121897 次
  • 性别: Icon_minigender_1
  • 来自: 河南
社区版块
存档分类
最新评论

回顾篇之Java冒泡排序

    博客分类:
  • Java
阅读更多

前一篇回顾了一下Java的插入排序,这次继续Java的冒泡排序。

生活如此无奈,但是程序依旧经典,送上代码,让我们一起感受程序的快乐

package com.honzh.mwq.sort;

/**
 * 冒泡排序.
 * 
 * 用我自己的方式解释一下哈,假如有N个数,是无序的
 * 
 * 1.从第一个数开始和后面N-1的数比较,发现有比自己小的就交换位置
 * 2.从第二个数开始和后面N-2的数比较,同样发现有比自己小的就交换位置
 * 直到N-1结束.
 * 
 * 
 * @author qinge
 * 
 */
public class BubbleSort {

	public static void main(String[] args) {
		// 数组元
		int[] orgins = { 2, 1, 5, 4, 9, 8, 6, 7, 10, 3, 3 };

		// 排序前的数
		for (int num : orgins) {
			System.out.print(num + "、");
		}
		System.out.println();

		// 获取数组元的长度
		int length = orgins.length;

		// 从第1个数开始比较,直到N-1
		for (int i = 0; i < length; i++) {

			// 从第i+1开始,和i位置的数进行比较
			for (int j = i + 1; j < length; j++) {
				
				// 记录原来的数
				int temp = orgins[j];

				// 如果i位置的数大,就和j位置的数进行交换
				if (orgins[i] > temp) {

					orgins[j] = orgins[i];
					orgins[i] = temp;
				}

			}
		}

		// 排序后的数
		for (int num : orgins) {
			System.out.print(num + "、");
		}
	}

}

 远离浮躁的社会,平静的享受编程。

2
0
分享到:
评论
2 楼 qing_gee 2014-08-19  
hawkon 写道
很简单很经典的问题,很多人答不上来。


恩,很能锻炼逻辑思维能力,真正动手多写写和想想,总结出自己的认识后才能更透彻的理解。
1 楼 hawkon 2014-08-19  
很简单很经典的问题,很多人答不上来。

相关推荐

    java 冒泡排序法 PPT文档

    冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,特别是在编程语言如Java中。它的名字来源于排序过程中较小的元素像气泡一样逐渐“浮”到数组或列表的顶端。这个PPT文档很可能是详细介绍了Java实现...

    java数据结构和算法实现

    冒泡排序是最简单的排序算法之一,通过不断交换相邻的错误顺序元素来实现排序。在Java中,可以使用嵌套循环来实现冒泡排序。虽然冒泡排序效率相对较低,但对于小规模数据或教学用途,它是很好的选择。冒泡排序的时间...

    聆听排序算法的声音

    首先,我们来回顾一下经典的冒泡排序(Bubble Sort),这也是压缩包中文件名“bubble_8_elements.mid”所对应的排序算法。冒泡排序是一种简单的比较排序,它的基本思想是通过重复遍历待排序的元素列表,依次比较相邻...

    java数据结构与算法+applet与源码

    Java数据结构与算法是计算机科学中的核心...同时,理解Applet及其源码可以帮助我们回顾Java的历史,理解Web开发技术的演进。通过深入研究这些主题,开发者可以提升自己的专业技能,更好地适应不断变化的软件开发环境。

    JAVA经典算法90题【含源码】

    首先,"JAVA经典算法40题.doc"可能包含了一些基础的算法题目,如排序(冒泡排序、选择排序、插入排序、快速排序、归并排序)、搜索(线性搜索、二分搜索)、图论(最短路径问题、拓扑排序)以及动态规划等。...

    数据结构与算法Java版

    排序算法是算法中最基础也是最重要的部分之一,包括冒泡排序、选择排序、插入排序、快速排序等。 - **冒泡排序**:通过重复比较相邻两个元素并交换顺序,使得较大的元素逐步向后移动,最终完成排序。 - **快速排序*...

    14丨排序优化:如何实现一个通用的、高性能的排序函数?1

    对于小规模数据,时间复杂度为O(n log n)的排序算法,如插入排序或冒泡排序,可能是可行的选择。然而,面对大规模数据,O(n log n)时间复杂度的算法如归并排序、快速排序和堆排序更为高效。其中,快速排序和堆排序...

    Java程序设计课程实验4-数组

    这可能涉及到冒泡排序、选择排序等基础排序算法,这些算法能帮助理解数组元素的比较和交换过程。 4. 随机生成不重复的整数:Java的`java.util.Random`类可以生成随机数,通过设定范围和排除重复,可以生成[0-n)之间...

    newreview_die4ix_Java数据结构_

    8. 排序算法:如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,它们对数组或其他数据结构进行排序。 文件名"newreview"可能代表作者对这些主题进行了回顾和总结,可能包含了各种实例、练习和解决...

    2014计算机二级java考试大纲

    数据结构和算法部分,大纲通常会要求考生理解并能运用简单的数据结构,如数组、链表、栈、队列,以及一些基础算法,如排序(冒泡排序、选择排序、快速排序等)、查找(线性查找、二分查找)等。这些知识在实际编程...

    Java期末复习资料

    常见的编程题目可能包括排序算法(冒泡、选择、插入、快速等)、搜索算法(线性、二分查找)、数据结构(栈、队列、链表、树等)的应用,以及文件操作和网络编程等。 复习Java时,应重视以下几个关键点: - **基础...

    经典算法问题的java实现<一>

    1. **排序算法**:如快速排序(Quick Sort)、归并排序(Merge Sort)、冒泡排序(Bubble Sort)和插入排序(Insertion Sort)。排序算法在数据处理中极为重要,用于将一组数据按照特定顺序排列。 2. **搜索算法**...

    DS and Algorithm Ananlysis in Java

    9. **排序算法**:学习各种排序算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,了解它们的优缺点和适用场景。 10. **图算法**:研究图的遍历(如深度优先搜索和广度优先搜索)以及最短路径...

    JAVA近百种算法大全打包.zip

    这些排序算法各有特点,例如快速排序平均时间复杂度为O(nlogn),归并排序适合大数据量,而冒泡排序则适用于小规模数据。 2. **查找算法**:如二分查找、线性查找、哈希查找。二分查找适用于有序数组,效率高;线性...

    java算法源码大全

    1. **排序算法**:如快速排序、归并排序、冒泡排序、插入排序、选择排序、堆排序等。这些排序算法展示了不同的时间复杂度和空间复杂度,适用于不同规模的数据处理。 2. **查找算法**:如二分查找、线性查找、哈希...

    Java最经典的算法题,初学者必懂 好好学,好好练,这就是学习的最终的秘诀

    1. 排序算法:包括冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序等,它们用于组织和整理数据,是所有程序员都应熟悉的基石。 2. 搜索算法:如线性搜索、二分搜索、深度优先搜索(DFS)和广度优先搜索...

    Java软件开发实战 Java基础与案例开发详解 19-3 lnetAddress类 共6页.pdf

    - **数组与排序算法**:介绍一维数组、多维数组的概念,以及常用的排序算法(如冒泡排序、选择排序)。 - **面向对象编程基础**:涉及抽象、封装、继承、多态等核心概念。 ### 6. 进阶知识点 - **异常处理**:讲解...

    Java数据结构和算法(第二版)

    接着,“算法的概述”章节将涵盖排序、查找和其他常见算法,如冒泡排序、选择排序、插入排序、快速排序、归并排序、二分查找等。这些算法是解决问题的基础工具,理解它们的工作原理能够帮助开发者在面对特定问题时...

    Java语言与面向对象程序设计第05讲(语言基础类库和数组)

    关于算法,介绍了排序(冒泡排序、选择排序和插入排序)和查找的基本概念,这些都是算法基础,对于优化代码性能至关重要。 最后,简要回顾了递归,这是一种函数自我调用的技术,广泛应用于解决复杂问题,如树遍历、...

    Java经典问题算法大全

    - **定义**:冒泡排序是一种简单的排序算法,它重复地遍历待排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 - **实现要点**: - 使用双重循环,外层控制排序轮次,内层控制每轮比较次数。 -...

Global site tag (gtag.js) - Google Analytics