java算法之冒泡排序
冒泡排序是一种简单的排序算法,它重复地走访要排序的数列,一次比较两个相邻的元素,如果它们的顺序错误就把它们交换过来,直到没有再交换位置,直到整个数列比较的符合要求为止。
冒泡排序的工作流程如下:
1.先对数组进行升序排列,每次将待排序列第一个元素加1,直到排列完成。
2.再对数组进行排序,每次从待排序的元素中选择最小(大)元素,放到已排序列中的一个元素的前面,然后放到已排序列的末尾。
3.重复步骤2和步骤3,直到所有元素有序。
4.重复步骤3-3,直到所有元素有序。
5.重复步骤4-4,直到所有元素有序。
以下是Java实现冒泡排序的示例代码:
publiclasBubleSort{
publicstaticvoidbubleSort(int[]ar){
intn=ar.length;
for(inti=0;i<n-1;i+){
for(intj=0;j<n-i-1;j+){
if(ar[j]>ar[j-1]){
intemp=ar[j];
ar[j]=ar[j-1];
ar[j]=ar[j+1];
ar[j+1]=temp;
}
}
}
}
上述代码中,bubleSort方法使用了list的冒泡排序算法,通过将每个元素的比较相比较相比较,将最大的元素逐渐交换到数组的末尾,得到最终的最大元素,即[1,2,3]。
4.使用filter()方法进行排序
使用filter()方法可以根据一个数值类型数组的大小,从而确定数组的长度,并进行更加复杂的排序操作。
下面是一个示例代码,演示如何使用递归算法进行数组排序:
publiclasMain{
publicstaticvoidmain(String[]args){
int[]ar={1,2,3,4,5};
/数组排序
/下面就是遍历数组的过程
for(inti=0;i System.out.print(ar[i]); } } 在上面的代码中,我们首先定义了一个数组a[i],然后使用线性回归算法对数组a[i]进行了一比较,判断是否包含元素。如果包含,则在数组的首页上显示元素,否则在数组的末尾添加元素。 2.使用Arays类的toString()方法 Arays类是Java提供的一个工具类,其中的toString()方法可以将一个数组转换为一个字符串。示例代码如下: `javascript var=['aple','bana','orange']; varar=['aple','bana','orange']; console.log(ar.lastIndexOf('undefined'); console.log(ar);/输出:['aple','bana','orange'] ` 或者使用Object.keyCodeAt的方法,如下所示: `javascript var=[1,2,3,4,5]; varelement=Object.keys(); console.log(element);/输出:[1,2,3,4,5] 2.Aray.isAray() 返回一个新数组,其中包含通过索引访问的元素的第一个元素。如果第一个元素没有找到,则返回-1。 constlist=[,]; list.isAray([]);/输出:[1,2,3,4,5] list.isAray();/输出:[1,2,3,4,5] 3.map() map()方法可以对数组中的每个元素执行一个函数,并返回一个新的数组。