关注
我也觉得有问题, 不过我的答案跟楼主也不同。。。附上我的答案:
好像牛客网目前有点小问题, 图片传不上来
我用数组的方式表示: 从A.length/2 = 8/2 = 4 也就是 数字1开始调整
45301726 -> 45301726 -> 45361720 -> 45761320 ->
46751320 -> 76451320
附上代码:
public int[] heapSort(int[] A, int n) {
for(int i=(n-1)/2;i>=0;--i){ //将数组初始化为堆
heapAdSort(A,i,n);
}
print(A);
//只要初始化部分,后面代码注释掉
/* for(int i=n-1;i>0;--i){
int temp = A[i];
A[i] = A[0];
A[0] = temp;
heapAdSort(A,0,i);
}
*/
return A;
}
public void heapAdSort(int[] A,int i,int
n){//A为数组,i为结点值,n为数组长度
int child = 2 * i + 1; //左孩子
int temp = A[i];//保存节点值
while(child < n){
if(child+1 < n && A[child] <
A[child+1]){// 把child节点指向左右孩子中较大的一个
child ++ ;
}
if(A[i] < A[child]){//如果节点小于孩子值,则交换,节点向下
A[i]=A[child];
i = child;
child = 2*i+1;
}else{
break;
}
A[i] = temp;//将节点保存;
}
}
public void print(int[] A){
for(int i:A){
System.out.print(i+" ");
}
System.out.println();
}
查看原帖
点赞 3
相关推荐
点赞 评论 收藏
分享
牛客热帖
更多
- 1... 双一流本的春招失败总结 面试近40家公司 0offer结局 准备转行了1.6W
- 2... 🔥【六月创作狂欢季】重磅上线!发文赚现金,多发多得🔥1.1W
- 3... 腾讯wxg一面 1h30min8165
- 4... 再也不用写代码了哈哈哈哈哈哈哈6478
- 5... 论双非大一的“暑期”能拿下大厂offer吗?5871
- 6... 牛友们,你们有多久没回家了?5263
- 7... 作为1名HR真是不吐不快4534
- 8... 大厂实习后的一些反思与认知改变4300
- 9... 在西二旗上班真的没有一点活人感4252
- 10... 去大厂实习了,感觉跟上高中没区别啊4252
正在热议
更多
# 考研对你找工作产生了哪些影响? #
7808次浏览 106人参与
# 摸鱼被leader发现了怎么办 #
57425次浏览 340人参与
# 聊聊这家公司值得去吗 #
243245次浏览 2279人参与
# kpi面有什么特征 #
37185次浏览 275人参与
# 你认为哪个岗位找工作最卷 #
18169次浏览 78人参与
# 我发现一个规律 #
7806次浏览 70人参与
# 打杂的实习你会去吗? #
109775次浏览 963人参与
# 机械只有读研才有出路吗? #
20106次浏览 230人参与
# 为了找工作你投递了多少公司? #
13885次浏览 209人参与
# 职场人,说说你的烦心事 #
9261次浏览 83人参与
# 实习想申请秋招offer,能不能argue薪资 #
138952次浏览 887人参与
# 校招第一份工作你干了多久? #
74559次浏览 364人参与
# 通信硬件知识分享 #
27757次浏览 482人参与
# 职场上哪些事情令人讨厌 #
17019次浏览 86人参与
# 你有哪些缓解焦虑的方法? #
4923次浏览 174人参与
# 硬件开发岗知多少 #
11337次浏览 116人参与
# 如何包装实习经历 #
25813次浏览 77人参与
# 总结:哪家公司面试体验感最差 #
57230次浏览 265人参与
# 工作中哪个瞬间让你想离职 #
24319次浏览 166人参与
# 没有合适的工作,你会先找个干着,还是考公考研 #
111863次浏览 1111人参与