`
zhonglunshun
  • 浏览: 141541 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

常用算法之一冒泡排序

阅读更多
冒泡排序算法
以前大学的时候总觉得算法很难记住,其实也不是,了解了原理,也并不难,只是那时候把问题看复杂了。

原理是:不断的拿左边那个数和右边那个数比较,只要在这个循环里左边那个数大于邮编那个数就代表本次循环有效,也就是这个数组还没有被完全排序完,因此进入下一轮循环,直到任意左边的数小于右边的数的时候,退出排序。

以下是我写的java代码:

public
void testsort(int arr[]) {
        boolean flag;
        do{
            flag = false;
            for(int i=0;i<arr.len;i++){
                if(arr[i]>arr[i+1])
                {
                    arr = swap(arr,i);
                    swap = true;
                }
            }
        }while(flag)
    }
    private int[] swape(int []arr,int i) {
        int temp = arr[i];
        arr[i+1]=arr[i];
        arr[i] = temp;
        return arr;
    }
 


伪代码为:

do
	swapped = false
	for i = 1 to numOfElements exclusive
		if leftElement > rightElement
			swap(leftElement, rightElement)
			swapped = true
while swapped
 


 

其他算法会陆续更新,欢迎吐槽。
0
0
分享到:
评论

相关推荐

    C++语言的算法实现包括插入排序冒泡排序堆排序快速排序

    快速排序是C++中最常用的排序算法之一,由英国计算机科学家C.A.R. Hoare提出。它使用分治策略,选择一个基准元素,将数组分为两部分,一部分的所有元素都小于基准,另一部分的元素都大于基准,然后递归地对这两部分...

    详解Java常用排序算法-冒泡排序

    Java排序算法之冒泡排序详解 冒泡排序(Bubble Sort)是一种简单的排序算法,它重复地遍历要排序的数列,一次比较两个元素,如果它们的顺序错误就交换位置。这个过程持续对数列的末尾进行,直到整个数列都排序完成...

    c#的算法 选择排序 冒泡排序 快速排序 插入排序 。。。

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

    C# 常用经典算法,选择排序 冒泡排序 快速排序 插入排序 希尔排序

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

    VC++常用算法之 冒泡法排序

    冒泡法排序是一种基础且直观的排序算法,尤其适合初学者理解排序的原理。在VC++环境下,我们可以利用C++语言特性来实现这个算法。它的工作机制是通过反复遍历待排序的序列,每次比较相邻两个元素并根据需要交换它们...

    7种常用排序算法实现(C++)(冒泡排序、选择排序、直接插入排序、希尔排序、堆排序、归并排序以及快速排序)

    冒泡排序是最基础的排序算法之一,通过重复遍历待排序序列,比较相邻元素并交换位置来实现排序。如果前一个元素大于后一个元素,它们就会交换位置,这样最大的元素会逐渐"冒泡"到序列末尾。时间复杂度为O(n^2)。 2...

    算法可视化系列——排序算法——冒泡排序

    - **冒泡排序**:最简单的排序算法之一,时间复杂度为O(n^2)。 2. **冒泡排序步骤**: - 遍历数组,比较相邻元素的值。 - 如果前一个元素大于后一个元素,则交换它们的位置。 - 这个过程会持续n-1轮(对于n个...

    六种内部排序算法比较:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序、堆排序。

    本话题主要探讨六种内部排序算法:直接插入排序、希尔排序、冒泡排序、快速排序、选择排序以及堆排序。这六种排序算法各有优劣,适用于不同的场景,接下来我们将逐一进行详细阐述。 1. **直接插入排序**: 直接...

    嵌入式C语言常用算法范例,T1冒泡法排序

    冒泡排序是一种基础且经典的排序算法,主要应用于计算机科学领域,包括嵌入式系统开发中的数据处理。在C语言中,由于其简洁性和高效性,常被用来实现各种算法,包括冒泡排序。下面我们将详细探讨冒泡排序的原理、...

    python常用排序算法汇总

    # sort.bubbleSort() #冒泡排序 # sort.shellSort() #希尔排序 # sort.insertionSort() #插入排序 # sort.Selectionsort1() #选择排序 # sort.heapSort() #堆排序 # sort.countSort() #计数排序 # sort....

    读懂冒泡排序

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

    Java冒泡排序算法

    冒泡排序是一种基础且经典的排序算法,主要应用于教学和理解排序的基本原理。在Java中实现冒泡排序,我们可以从以下几个方面来深入理解: 1. **基本概念**:冒泡排序通过重复遍历待排序的数列,一次比较两个元素,...

    关于c++冒泡排序算法

    在计算机科学与编程领域,排序算法是基础且关键的一部分,其中冒泡排序(Bubble Sort)作为最简单直观的排序算法之一,常被用作教学示例,尤其适合初学者理解排序算法的基本原理。本文将围绕C++实现的冒泡排序算法...

    排序算法之冒泡排序(图解)

    冒泡排序是一种基础且经典的排序算法,它通过不断交换相邻两个元素的位置,使得较大的元素逐渐“浮”到序列的末尾,就像水底下的气泡逐渐上升到水面一样,因此得名“冒泡排序”。本篇文章将深入探讨冒泡排序的工作...

    常用c++排序算法(包括插入排序、冒泡排序、选择排序、快速排序、归并排序、希尔排序等)

    各种常用c++排序算法,包括插入排序、冒泡排序、选择排序、快速排序、归并排序、希尔排序等

    MoreWindows白话经典算法之七大排序第2版(高清)

    本书《更多Windows白话经典算法之七大排序第2版》是一部深入浅出讲解七种经典排序算法的著作,旨在帮助读者理解并掌握冒泡排序、直接插入排序、直接选择排序、希尔排序、归并排序、快速排序以及堆排序等基本概念和...

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

    快速排序在处理大规模数据时表现出优秀的性能,是实际应用中最常用的排序算法之一。 在JAVA中,实现这两种排序算法可以使用面向对象的特性,创建一个类如`MaopaoKuaisu.java`,在这个类中定义两个方法,分别实现...

    C# 排序算法大全参考资料,比较清淅的一个版本。集中介绍了C#中的冒泡算法、选择排序、插入排序、希尔排序等常用算法,并包含示例代码和注意事项等。

    本文将深入探讨C#中常见的四种排序算法:冒泡排序、选择排序、插入排序和希尔排序,以及它们的实现细节和应用场合。 首先,我们来看**冒泡排序**。冒泡排序是一种简单的交换排序方法,它通过不断比较相邻元素并交换...

    冒泡排序-冒泡排序冒泡排序-冒泡排序

    此外,冒泡排序也是一种教学中常用的算法,因为它简单易懂,可以帮助初学者理解排序算法的基本原理。 冒泡排序算法的实现也非常简单,只需要使用两层循环即可。外层循环控制遍历的次数,内层循环控制每次遍历的元素...

    冒泡排序算法的动态演示程序

    在给定的C++代码中,我们看到了一个典型的冒泡排序算法实现,但其独特之处在于加入了动态演示的功能,即在每一轮排序后输出当前数组的状态,以及用户交互功能,允许用户决定是否继续排序或终止程序。 1. **初始化...

Global site tag (gtag.js) - Google Analytics