数据结构与算法-堆与堆排序
来源:互联网 发布:大连品牌网络推广公司 编辑:程序博客网 时间:2024/05/18 01:30
public void changeDown(int size){
int current_index = 0 ;
while(current_index < size/2 ){
int large_index = 0 ;
int left_index = (current_index*2)+1 ;
int right_index = (current_index*2)+2 ;
if(array[right_index]!=0 && array[left_index]>array[right_index])
large_index = left_index ;
if(array[right_index]!=0 && array[left_index]<array[right_index])
large_index = right_index ;
if(array[right_index] == 0){
if(array[current_index]<array[left_index]){
int temp = array[current_index] ;
array[current_index] = array[left_index];
array[left_index] = temp ;
}
return ;
}
int temp = array[current_index] ;
array[current_index] = array[large_index];
array[large_index] = temp ;
current_index = large_index ;
}
}
public void changeUp(int size){
int number = array[size];
int current_index = size ;
int parent_index = (current_index - 1) / 2 ;
int parent = array[parent_index] ;
while(number > parent){
array[current_index] = array[parent_index] ;
current_index = parent_index ;
parent_index = (current_index - 1) / 2 ;
if(current_index==0)
break ;
parent = array[parent_index] ;
}
array[current_index] = number ;
}
- 数据结构与算法:堆与堆排序
- 数据结构与算法-堆与堆排序
- 【数据结构与算法】堆排序
- 堆排序 | 数据结构与算法
- 【数据结构与算法】堆排序
- 【数据结构】堆与堆排序
- 算法与数据结构之堆排序
- 数据结构与算法之六堆排序
- 数据结构与算法——堆排序
- 《数据结构与算法》之堆排序
- 算法与数据结构学习 09 堆排序
- 数据结构与算法——堆排序
- [数据结构与算法]堆排序 Heap Sort
- 数据结构与算法学习-堆排序
- 算法与数据结构 - 堆
- 数据结构基础(19) --堆与堆排序
- 数据结构基础(19) --堆与堆排序
- 【数据结构学习】-堆与堆排序
- python 类中变量 和局部变量和全局变量
- dedecms修改系统基本参数设置的新增变量?
- Js确认框confirm()用法实例
- C与C++的区别(一)
- JavaWeb学习心得之JDBC处理Oracle大数据
- 数据结构与算法-堆与堆排序
- Logistic Regression逻辑回归模型
- Python异常编码处理
- HDU 1520 Anniversary party——树形dp
- Java程序性能优化 读书笔记(七)设计模式:ValueObject模式
- git如何拉取远程分支
- Java中Servlet的使用(一)——Hello Servlet
- springstrutsmybatis-annotation
- 分页查询简约代码显示