各种排序算法代码实现

目的

   前一段时间经历了互联网的面试,发现只要你是从事技术类的,无论是测试、开发、还是算法岗位,都会问问到关于数据结构的东西,而数据结构中最可能被问到的,也是最基础的就是排序算法了。这段时间忙完了毕业论文,也稍微总结了一下各种排序算法,希望能帮助到大家。

各个排序算法实现思路以及代码

选择排序

  • 思路
    每次选择当前序列的最小值,将其与当前序列的第一个元素交换位置。
    1. java代码
    private static void selectSort(int[] a) {
        
        for (int i = 0; i < a.length-1; i++) {
            for (int j = i+1; j < a.length; j++) {
                
                if(a[i]>a[j]){
                    int temp =a[i];
                    a[i]=a[j];
                    a[j]=temp;
                }
            }
        }
    }
    1. python代码
def selectedSort(arr):

    for i in range(len(arr)):
        for j in range(i+1,len(arr)):
            if(arr[i]>arr[j]):
                temp = arr[i]
                arr[i] = arr[j]
                arr[j] = temp

    return arr

冒泡排序

  • 思路
    冒泡排序(顺序形式),从左向右,两两比较,如果左边元素大于右边,就交换两个元素的位置。其中,每一轮排序,序列中最大的元素浮动到最右面。也就是说,每一轮排序,至少确保有一个元素在正确的位置。这样接下来的循环,就不需要考虑已经排好序的元素了,每次内层循环次数都会减一。其中,如果有一轮循环之后,次序并没有交换,这时我们就可以停止循环,得到我们想要的有序序列了。
    1. java代码
    private static void bubbleSort(int[] a) {
        
        for (int i = 0; i < a.length-1; i++) {
            for (int j = 0; j < a.length-i-1; j++) {
                
                if(a[j]>a[j+1]){
                    int temp=a[j];
                    a[j]=a[j+1];
                    a[j+1]=temp;
                }
            }
        }
    }
    1. python代码
def bubbleSort(arr):

    for i in range(len(arr)):
        for j in range(0,len(arr)-i-1):
            if(arr[j]>arr[j+1]):
                temp = arr[j]
                arr[j] = arr[j+1]
                arr[j+1] = temp

    return arr

你可能感兴趣的:(各种排序算法代码实现)