package headSort;
import java.util.Arrays;
public class MyHeap {
public int[] arr;
public int size;
public MyHeap(int[] arr) {
this.arr = arr;
this.size=arr.length;
}
/**
* 删除下标为i的元素
* 思路->将最大元素删除->让删除元素的值增加到原先的最大元素->替换思想
*/
public void delete(int i){
int deleteValue = arr[i];
int pop = pop();
if (i!=0) increaseValue(arr,deleteValue,pop);
}
public int pop(){
int popValue = arr[0];
swap(arr,0,arr.length-1);
size--;
arr=Arrays.copyOf(arr
堆排序,删除堆中任意单一元素
最新推荐文章于 2023-05-04 08:00:00 发布
本文深入探讨了堆排序算法,特别是关注如何在排序过程中有效地从堆中删除任意单一元素。通过学习,读者将掌握堆的性质、构建过程以及删除操作的实现细节,进一步提升对排序算法的理解。
摘要由CSDN通过智能技术生成