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

直接排序和冒泡排序简单讲解(JAVA代码)

阅读更多
一、直接排序
直接排序每运算一次就会保证前面已经排序的是最终结果的前面部分,第一次运算结束以后,第一个肯定是最小的,第二次则是前两个是最小的,由于确定排序部分越来越多,后面越来越少,越往后排序的次数越少。详细看代码(第一个For是取数字,第二个是依次比较,最终最小的会和它换位置)

二、冒泡排序
假如有10个数字,那么就会进行10次排序,每次排序都是把第i个位置和第i+1进行交换(如果小的话),每换一次,小的数字就会往前挪了一步,就算最小的放在最后,10次比较也会到第一位了吧。。。这个算法的空间复杂度低,时间复杂度就有点高了。。。固定次数


public class SortTest {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int[] a = { 62, 54, 68, 73, 99, 22, 46, 83, 22, 70 };
		sortMethod1(a);
		//sortMethod2(a);
	}

	public static void sortMethod1(int[] s) {
		int temp;
		for (int i = 0; i < s.length - 1; i++) {
			for (int j = i + 1; j < s.length; j++) {
				if (s[i] > s[j]) {
					temp = s[i];
					s[i] = s[j];
					s[j] = temp;
				}
				for (int k = 0; k < s.length; k++) {//输出动态
					System.out.print(s[k] + ", ");
				}
				System.out.println(" ");
			}
			System.out.println(" ");
		}
	}

	public static void sortMethod2(int[] s) {
		int temp;
		for (int i = 1; i <= s.length; i++) {
			for (int j = 0; j < s.length - 1; j++) {
				if (s[j] > s[j + 1]) {
					temp = s[j];
					s[j] = s[j + 1];
					s[j + 1] = temp;
				}
				for (int k = 0; k < s.length; k++) {//输出动态
					System.out.print(s[k] + ", ");
				}
				System.out.println(" ");
			}
			System.out.println(" ");
		}
	}
}
分享到:
评论

相关推荐

    java基础 经典算法之冒泡排序详解

    1.冒泡排序的原理:每次都从第一个元素开始(索引0),向后两两比较,只要后面的比前面的大,就交换(从大到小) 2.通过画图分析,5个数字排4趟,n数字排n-1趟,而外层的for循环代表的是循环的趟数,所以外层循环的结束条件是...

    Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结.md

    Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结 Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结 Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结

    java冒泡排序泡排序的详细讲解

    冒泡排序作为计算机科学中的基础排序算法,有着简单直观的特点,非常适合初学者学习和理解排序的基本概念。尽管它的效率并不高,但在教学和算法的初步学习中,它仍然扮演着重要的角色。 首先,让我们来详细了解一下...

    JAVA冒泡排序和快速排序算法

    在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现冒泡排序和快速排序。类的结构可能如下: ```java public class MaopaoKuaisu { public...

    java 冒泡排序法 PPT文档

    - 可能会包含Java代码示例,演示如何编写冒泡排序的函数。 - 可能会对比冒泡排序与其他排序算法(如快速排序、归并排序等)的优劣。 - 也可能涉及冒泡排序的变种,如鸡尾酒排序(双向冒泡排序)等。 通过学习这...

    java快速排序、冒泡排序、插入排序示例

    本篇文章将详细讲解快速排序、冒泡排序和插入排序这三种常用的排序算法,并通过Java代码示例进行演示。 **快速排序** 快速排序是一种高效的排序算法,由英国计算机科学家C.A.R. Hoare于1960年提出。其基本思想是...

    常用排序算法的java实现(冒泡、插入、选择、希尔、归并、快排)

    这些排序算法各有优缺点,如冒泡排序和插入排序简单但效率较低,适用于小规模数据;选择排序和希尔排序在特定情况下有较好的性能;归并排序和快速排序则在大多数情况下都能提供较高的效率,尤其是快速排序,是实际...

    java 冒泡排序法

    通过以上讲解,我们可以看出冒泡排序虽然简单,但它的效率并不高,时间复杂度为O(n²),适用于小规模或部分有序的数据。在实际开发中,更常见的选择是使用快速排序、归并排序等效率更高的算法。然而,了解冒泡排序...

    冒泡排序及讲解

    在本案例中,我们有一个Java实现的冒泡排序程序和一个讲解文档。 首先,让我们详细了解一下冒泡排序的工作原理。冒泡排序的核心在于一个嵌套循环结构,外层循环控制排序的轮数,内层循环则负责每一轮的比较和交换。...

    Java之冒泡排序方法实例讲解.docx

    以下是对冒泡排序及其Java实现的详细讲解: 冒泡排序的基本思想是通过重复遍历待排序的数列,依次比较相邻的元素,如果它们的顺序错误(即前一个元素大于后一个元素),就交换这两个元素的位置。这个过程会一直持续...

    java排序视频讲解以及代码

    冒泡排序和选择排序虽然实现简单,但效率较低;插入排序在小规模数据或部分有序的数据中表现良好;而快速排序和归并排序通常在大多数情况下表现出优秀的效率,尤其是归并排序保证了稳定性;堆排序则能在内存有限的...

    各种排序Java代码

    以下将详细讲解标题“各种排序Java代码”中涉及的几种排序方法,包括快速排序、冒泡排序、堆排序和归并排序。 1. **快速排序(Quick Sort)**: 快速排序是一种基于分治思想的高效排序算法,由C.A.R. Hoare在1960...

    java冒泡排序,插入排序,堆排序源码(终端输入,可以选择排序方法)

    在本文中,我们将深入探讨Java编程中的三种基本排序算法:冒泡排序、插入排序和堆排序。这些排序算法是计算机科学中的基础知识,尤其对于初学者来说,理解和实现它们至关重要。我们将详细讲解每种排序算法的工作原理...

    java 8种排序算法

    在编程领域,排序算法是数据结构与算法学习中的重要组成部分,尤其在Java中,...在`AllSort`这个压缩包中,可能包含了这八种排序算法的Java实现代码,通过阅读和理解这些代码,可以加深对排序算法的理解和应用能力。

    Java-快速排序、冒泡排序和堆排序三种排序讲解、对比及总结.html

    java

    Java 冒泡法,选择法,插入法,快速排序法,实现代码。

    本主题将深入探讨四种常见的排序算法:冒泡排序、选择排序、插入排序和快速排序,这些算法在Java中都有相应的实现。下面,我们将详细讲解每种排序算法的工作原理,并给出Java代码实现。 1. 冒泡排序(Bubble Sort)...

    java选择、插入、冒泡排序

    本文将详细讲解 Java 中的选择排序、插入排序以及冒泡排序,这三种经典的排序算法。 **选择排序(Selection Sort)** 选择排序是一种简单直观的排序算法。它的工作原理是每一次从待排序的数据元素中选出最小(或...

    Java各种排序算法代码

    Java中的冒泡排序代码通常会使用嵌套循环实现,体现了基本的比较和交换操作。 2. 插入排序(Insertion Sort) 插入排序将待排序的元素视为已排序序列和未排序序列,每次将未排序序列的第一个元素插入到已排序序列的...

    内部排序算法资料(PPT+java代码)

    1. **排序算法分类**:包括简单排序(如冒泡排序、插入排序)、选择排序(如直接选择排序、堆排序)、交换排序(如快速排序、希尔排序)、归并排序、基数排序等。 2. **算法原理**:每种排序算法的工作机制,比如...

Global site tag (gtag.js) - Google Analytics