您的位置:首页 > 教育 > 锐评 > 谷歌优化培训_宁波妇科哪个医生好_如何推广品牌_南宁seo渠道哪家好

谷歌优化培训_宁波妇科哪个医生好_如何推广品牌_南宁seo渠道哪家好

2025/9/13 9:32:48 来源:https://blog.csdn.net/Runner__Binger/article/details/145499632  浏览:    关键词:谷歌优化培训_宁波妇科哪个医生好_如何推广品牌_南宁seo渠道哪家好
谷歌优化培训_宁波妇科哪个医生好_如何推广品牌_南宁seo渠道哪家好

冒泡排序

前后两两对比进行交换,每轮至少一个数组变得有序(未排序的最大数值找到正确位置)

代码:

package Test20250206;public class BubbleSort {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr= {2,3,9,4,5,7,0,1};sort(arr);for(int i=0;i<arr.length;i++) {System.out.print(arr[i]+",");}}static void sort(int[] arr) {for(int j=0;j<arr.length-1;j++) {for(int i=0;i<arr.length-1;i++) {if(arr[i]>arr[i+1]) {int temp=arr[i];arr[i]=arr[i+1];arr[i+1]=temp;}}}}}

堆排序

流程(从根到叶):

事实上在数组里操作,没有构建二叉树

父子节点之间的规律:

代码:

package Test20250206;import java.util.Arrays;public class HeapSort {public static void main(String[] args) {// TODO Auto-generated method stubint[] arr= {2,3,9,4,5,7,1,0};for(int p=arr.length-1;p>=0;p--) {sort(arr,p,arr.length);}for(int i=arr.length-1;i>0;i--) {int temp=arr[i];arr[i]=arr[0];arr[0]=temp;//堆顶元素和堆底元素进行互换sort(arr,0,i);}System.out.print(Arrays.toString(arr));}public static void sort(int[] arr,int parent,int le) {int temp=arr[parent];//temp作为父节点int lChild=2*parent+1;//左孩子while(lChild<le) {int rChild=lChild+1;//右孩子if(rChild<le&&arr[lChild]<arr[rChild]) {lChild++;//右孩子大于左孩子则把左孩子替换为右孩子}if(temp>=arr[lChild]) {break;//父节点值大于孩子节点则直接结束}arr[parent]=arr[lChild];//把孩子节点的值赋给父节点parent=lChild;lChild=2*lChild+1;}arr[parent]=temp;}}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com