排序算法(嵌套for循环):冒泡排序,选择排序

您所在的位置:网站首页 python排序算法案例 排序算法(嵌套for循环):冒泡排序,选择排序

排序算法(嵌套for循环):冒泡排序,选择排序

2023-12-10 04:03| 来源: 网络整理| 查看: 265

以下内容均为自己总结归纳,如果有什么地方总结错了或者漏掉或者补充了,请各位看官们及时告知小白,小白会第一时间进行整改!

学习产出: 排序算法:(嵌套for循环)

排序算法需要完全理解如何循环的,并能够达到手动默写 冒泡排序: 原理:冒泡排序中一般将第一个元素视为最大(最小),再与其他元素比较,如果有比 最大(最小) 还 大(小) 的就交换值。

这里要注意第二次循环的次数

//升序排列 for (int i = 1; i if (arr[j]>arr[j+1]){ int t = arr[j]; arr[j]=arr[j+1]; arr[j+1]=t; } } } //降序排列 for (int i = 1; i if (arr[j] int minindex=i;//默认最小值下标 //1.从i到len-1这个范围中找最小值下标 for (int j = i+1; j minindex=j; } } //交换元素 int t=arr[i]; arr[i]=arr[minindex]; arr[minindex]=t; } Arrays 类的常用方法:

equals():比较两个数组的元素是否为一致,返回的是true/false,只能同类型数组比较。 (这里的equals只是在Arrays类的equals,在其他类中还有很多的equals,而且用法不同,不要混淆了)

int [] arr={1,2,3}; int [] arr1={1,2,3}; System.out.println(Arrays.equals(arr, arr1)); //返回值为:true

toString():将一个数组换成字符串类型,并用[]保护起来

int [] arr={4,6,5,8,9,5}; System.out.println(Arrays.toString(arr)); //[4, 6, 5, 8, 9, 5]

sort():升序排列(无返回值,不能够直接输出)

int [] arr={4,6,5,8,9,5}; Arrays.sort(arr); System.out.println(Arrays.toString(arr)); //[4, 5, 5, 6, 8, 9]

fill():将数组中的元素,用一个新的数值替换。 1.Arrays.fill(数组名,val):把所有元素值替换

int [] arr={4,6,5,8,9,5}; Arrays.fill(arr,7); System.out.println(Arrays.toString(arr)); //[7, 7, 7, 7, 7, 7]

2.Arrays.fill(数组名,val1,val2,val3):给数组中的下标val1~下标val2(不包括val2)的元素替换为val3。

int [] arr={4,6,5,8,9,5}; Arrays.fill(arr,1,4,11); System.out.println(Arrays.toString(arr)); //[4, 11, 11, 11, 9, 5]

copyOf(): 1.如果定义的新数组长度小于原数组长度,多余部分不复制:

int [] arr={4,6,5,8,9,5}; int[]arr2=Arrays.copyOf(arr,4); System.out.println(Arrays.toString(arr2)); //[4, 6, 5, 8]

2.如果定义的新数组的长度大于原数组长度,多余部分用0填充:

int [] arr={4,6,5,8,9,5}; int[]arr2=Arrays.copyOf(arr,10); System.out.println(Arrays.toString(arr2)); [4, 6, 5, 8, 9, 5, 0, 0, 0, 0]

3.补充:Arrays.copyOfRange(数组名,val1,val2);:复制从下标val1~下标val2(不包括val2)的元素:

int [] arr={4,6,5,8,9,5}; int[] arr2=Arrays.copyOfRange(arr,1,4); System.out.println(Arrays.toString(arr2)); //[6, 5, 8]

binarySearch():找元素对应的下标,前提是数组是已经升序排列的数组: 1.如果有找到,返回值为查找数字在数组中的下标:

int [] arr={4,5,7,8,9,10}; System.out.println(Arrays.binarySearch(arr,5)); //返回值为:1

2.如果没有找到,也有返回值,返回值为从-1-(能插入到数组的下标)。

int [] arr={4,5,7,8,9,10}; System.out.println(Arrays.binarySearch(arr,6)); //返回值为:-3


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3