`

自己写的冒泡排序算法

阅读更多
    冒泡排序(BubbleSort)的基本概念是:依次比较相邻的两个数,将小数放在前面,大数放在后面。
    即在第一趟:首先比较第1个和第2个数,将小数放前,大数放后。然后比较第2个数和第3个数,将小数放前,大数放后,如此继续,直至比较最后两个数,将小数放前,大数放后。至此第一趟结束,将最大的数放到了最后。在第二趟:仍从第一对数开始比较(因为可能由于第2个数和第3个数的交换,使得第1个数不再小于第2个数),将小数放前,大数放后,一直比较到倒数第二个数(倒数第一的位置上已经是最大的),第二趟结束,在倒数第二的位置上得到一个新的最大数(其实在整个数列中是第二大的数)。如此下去,重复以上过程,直至最终完成排序。

import java.util.Scanner;


public class bubbleSort {

	/**
	 * @param args
	 */
	public static void main(String[] args) {
		// TODO Auto-generated method stub
		int n;
		System.out.print("请输入排序的数字个数:");
		Scanner in = new Scanner(System.in);
		n = in.nextInt();
		int sort[] = new int[n];
		System.out.print("请输入" + n + "个整数:");
		for(int i = 0;i < n;i++)
			sort[i] = in.nextInt();
		int k = 0;
		for(int i = 0;i < n;i++)
		{
			int flag = 0;
			for(int j = 0; j < n-i-1;j++)
			{
				if((sort[j]) > (sort[j+1]))
				{
					k = sort[j];
					sort[j] = sort[j+1];
					sort[j+1] = k;
					flag++;
				}
			}
			if(flag == 0)
				break;
			System.out.println(i+1 + "趟排序后的结果为:");
			for(int m = 0;m < n;m++)
				System.out.print(sort[m]+"  ");
			System.out.println();
		}
		System.out.println("冒泡排序后的数组为:");
		for(int i = 0;i < n;i++)
			System.out.print(sort[i]+"  ");

	}

}
分享到:
评论

相关推荐

    用Java写出冒泡排序的算法

    Java冒泡排序算法详解 冒泡排序是一种简单的排序算法,它重复地走访过要排序的数列,依次比较相邻元素,如果他们的顺序错误就把他们交换过来。下面是一个用Java实现冒泡排序的算法: public class Bubblesort { ...

    java 冒泡排序算法

    自己面试的时候遇到的,回来以后用java写了个完整的!

    冒泡排序 二分排序 自己写的

    在实际编程中,我们可能会编写自己的排序函数,比如在"CustomSort"这个压缩包中,可能就包含了作者自己实现的冒泡排序和二分排序的代码。编写这样的代码有助于加深对排序算法的理解,同时也为今后的项目开发提供了可...

    自己写的排序算法,还有点小问题

    "自己写的排序算法,还有点小问题"这个标题表明作者已经尝试实现了一个排序算法,但可能遇到了一些挑战或bug。描述中提到的“只有个框架,递归计算”暗示了作者可能使用了递归的方式来实现排序,这是一种常见的编程...

    【算法导论】排序算法源码

    自学算法导论中前几章,并自己写的排序算法源码包括gtest的测试用例。 详细介绍看我博客 http://blog.csdn.net/ceofit 一、选择法排序、冒泡排序、插入法排序 http://blog.csdn.net/ceofit/article/details/7397020 ...

    自己用C#写的六种排序算法实例

    本项目中,你提供了六种不同的排序算法的C#实现:冒泡排序、选择排序、快速排序、哈希排序、堆排序以及插入排序。下面将详细解释这些排序算法的原理和特点。 1. **冒泡排序**: 冒泡排序是最简单的排序算法之一,...

    算法分析之排序算法 排序算法

    当然,为了学习和理解,我们也可以自己编写这些基本排序算法的C++代码。 例如,快速排序的C++实现可能如下: ```cpp void quickSort(int arr[], int left, int right) { if (left ) { int pivotIndex = ...

    java冒泡排序

    java简单冒泡排序算法,本人自己写的,完全可以执行!

    冒泡排序可视化.py

    自己写的可视化算法,如果有错误。可以私信我哦! t = turtle.Turtle() w = turtle.Screen() turtle.hideturtle() turtle.getscreen().tracer(5,0) turtle.penup() turtle.backward(150) turtle.pendown() turtle....

    自己写的排序2.0版本

    "自己写的排序2.0版本"可能指的是一个作者自定义实现的排序算法,它采用了递归的方式来解决排序问题。递归是一种解决问题的方法,它将问题分解为更小的子问题,直到子问题可以直接解答或变得足够简单。在这个特定的...

    用Python写冒泡排序代码

    python代码实现冒泡排序代码其实很简单,具体代码如下所示: 代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&gt; 1 def bubbleSort(numbers): for j in ...

    用python实现常见6种排序算法

    冒泡排序是一种简单的排序算法。它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。遍历数列的工作是重复进行直到没有再需要交换,也就是说该数列已经排序完成。这个算法的名字由来...

    设计一个测试程序比较几种内部排序算法的关键字比较次数和移动次数以取得直观感受。

    内部排序算法是指在内存中进行排序的算法,常见的内部排序算法有冒泡排序、选择排序、插入排序、归并排序、快速排序等。 在JavaScript中,我们可以使用onsubmit事件和onblur事件来实现表单校验。在下面的例子中,...

    c# ObservableCollection排序

    只能自己写个扩展方法了,方法内使用的冒泡排序算法,非常简单,当然使用是更简单、方便了。 注意:将方法写为扩展方法更方便: class Student { int id; string name; } ObservableCollection listDatas=new ...

    简单理解js的冒泡排序

    我也知道,关于我标题中的排序,博客园中的很多作者都写过详细解释的文章,可能,笔者本人认为自己的理解更能体现出这个排序的工作原理吧,所以,笔者也就大惭不愧的在这里再次写下关于冒泡排序的文章,有需要的读者...

    自己写的排序,最大公约数,取自然数,zigzag等经典C++算法(内附算法说明)

    - **冒泡排序**:这是一种简单的交换排序方法,通过重复遍历待排序的序列,依次比较相邻元素并交换位置,直到序列变为有序。 - **选择排序**:选择排序每次从未排序的元素中找到最小(或最大)元素,放到已排序...

    随手笔记--数据结构与算法(Java)排序

    内容概要:这是本人在复习数据结构排序算法所写的markdown文档,对各个算法进行了比较,分析其稳定性。通过对六种排序算法的介绍,了解其中的核心原理,手写源码过程中对其代码进行注释讲解。 适用人群:本人文档是...

    教学设计小学信息科技,自己写的

    * 根据教师的演示自主的探究设计冒泡排序算法的图形化程序。 活动 3: 选择排序(第 3 课时) * 学生排队活动,解释选择排序的原理。 * 利用文心一言人工智能平台,进一步明确标准的选择排序概念及基本原理,帮助...

    JavaScript排序算法动画演示效果的实现方法

    之前在知乎看到有人在问 自己写了一个冒泡排序算法如何用HTML,CSS,JavaScript展现出来排序过程。 感觉这个问题还挺有意思 。前些时间就来写了一个。这里记录一下实现过程。 基本的思想是把排序每一步的时候每个...

Global site tag (gtag.js) - Google Analytics