**冒泡排序的文字说明**

冒泡排序的文字说明
冒泡排序的个人理解,在比较之后,如果是从小到大(j>j+1)那么定义的参数可以用来接收j
定义的参数 = j;
j = j+1;
j+1 = 定义的参数;

代码

public static void main(String[] args){

    Integer tep = 0;
    Integer[] num = {3,10,5,7,15,11,1};

    for (int i =0;i<num.length-1;i++){
        for (int j =0;j<num.length-1-i;j++){
            if (num[j]>num[j+1]){
                tep = num[j];
                num[j] = num[j+1];
                num[j+1] = tep;

            }
        }
    }
    System.out.println(Arrays.toString(num));
}
好的,我明白了。下面是我的回答: 首先,我需要说明一下选择排序和冒泡排序算法基本原理和复杂度: 选择排序算法:每次从未排序的序列中选择一个最小的元素,放置到已排序序列的末尾,不断重复这个过程,直到所有元素都被排序。选择排序的时间复杂度为O(n^2)。 冒泡排序算法:从第一个元素开始,依次比较相邻的两个元素的大小,如果顺序不对就交换它们。这样一轮下来,最大的元素就会被移到序列的最后。然后再从第一个元素开始重复上述过程,直到所有元素都被排序。冒泡排序的时间复杂度也为O(n^2)。 下面是使用c语言实现的代码: 选择排序: ```c #include <stdio.h> void selectSort(int arr[], int len){ int i, j, minIndex, temp; for (i = 0; i < len - 1; i++){ minIndex = i; for (j = i + 1; j < len; j++){ if (arr[j] < arr[minIndex]){ minIndex = j; } } if (minIndex != i){ temp = arr[i]; arr[i] = arr[minIndex]; arr[minIndex] = temp; } } } int main(){ int arr[] = {9, 5, 3, 6, 2, 1, 8, 7, 4}; int len = sizeof(arr) / sizeof(*arr); selectSort(arr, len); for(int i = 0; i < len; i++){ printf("%d ", arr[i]); } printf("\n"); return 0; } ``` 冒泡排序: ```c #include <stdio.h> void bubbleSort(int arr[], int len){ int i, j, temp; for (i = 0; i < len - 1; i++){ for (j = 0; j < len - i - 1; j++){ if (arr[j] > arr[j+1]){ temp = arr[j]; arr[j] = arr[j+1]; arr[j+1] = temp; } } } } int main(){ int arr[] = {9, 5, 3, 6, 2, 1, 8, 7, 4}; int len = sizeof(arr) / sizeof(*arr); bubbleSort(arr, len); for(int i = 0; i < len; i++){ printf("%d ", arr[i]); } printf("\n"); return 0; } ``` 输出结果如下: 选择排序的结果为:1 2 3 4 5 6 7 8 9 冒泡排序的结果为:1 2 3 4 5 6 7 8 9 经过以上代码的运行结果可以看出,选择排序和冒泡排序对于同一个序列得到的结果相同,都为1 2 3 4 5 6 7 8 9。但两种算法的时间复杂度均为O(n^2),在处理大规模数据时效率不高,因此需要选择更高效的排序算法来提高效率。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值