改动了一下的堆排序
来源:互联网 发布:新奥集团怎么样知乎 编辑:程序博客网 时间:2024/06/07 10:45
昨日闲来无事就写了下堆排
#include <iostream.h>typedef int DataType;class S{public:static void swap(DataType& x,DataType& y);static void heap_sort(DataType a[],int num);static void GenerateArray(DataType a[],int num);static void AdjustHeap(DataType a[],int pos,int len);};void S::swap(DataType& x,DataType& y){DataType temp;temp = x;x = y;y = temp;}//调整堆 void S::AdjustHeap(DataType a[],int pos,int len){for (int i = len-1;i>0;i--){if(a[i]>a[i/2])S::swap(a[i],a[i/2]);}}void S::heap_sort(DataType a[],int len){while(len>0){S::AdjustHeap(a, 0, len);len--;S::swap(a[0],a[len]);}}//生成样本数组void S::GenerateArray(DataType a[],int num){int i;srand(time(NULL));for(i=0;i<num;i++){a[i]=(DataType)(rand()); }}int main(int argc, char *argv[]){DataType a[10];int num = 10;S::GenerateArray(a,10);cout<<"堆排序之前"<<endl;for(int i=0;i<num;i++){cout<<a[i]<<" ";}cout<<endl;S::heap_sort(a,num); cout<<"堆排序之后"<<endl;for(int i=0;i<num;i++){cout<<a[i]<<" ";}cout<<endl;return 0;}
0 0
- 改动了一下的堆排序
- 改动了一下
- 呵呵,改动了一下我的blog模板
- 记录一下自己实现的堆排序
- 见到的一篇IOCP流程 自己用demo实现了一下, 简单照抄,改动了一点点
- 钱币问题(自己没做出来,代码是看别人的改动了一下)
- hibernate中session中的update方法,改动了一下,让数据库中原有的属性不变,只更新传入对象中改动的属性
- 关注到谷歌的政策性改动了,记录~
- 写一下快速排序和堆排序,两个简单又神奇的算法
- 插入排序修改了一下
- 把自己学的选择排序整理了一下
- 接着上回的一章,我稍加改动了一下apache+svn+ssl集成之后创建的subversion的版本的路径报错
- 接着上回的一章,我稍加改动了一下apache+svn+ssl集成之后创建的subversion的版本的路径报错
- 自己写的堆排序的模板 有需要的童鞋可以参考一下下
- 学了个堆排序
- 堆排序(用了好多的位运算)
- 堆的建立&堆排序
- 昨天的排序算法我做了修改,注释部分我省略了,代码改动部分为第69-72行
- java反射(1)
- java Socket简单用法 && Android使用socket使底层和framework通信
- 图像匹配之最小均方误差匹配
- HTML解析器--jsoup
- 在发送ajax请求时加时间戳或者随机数去除js缓存
- 改动了一下的堆排序
- JavaScript(3)函数、错误、表单验证
- 人体时钟hone hone clock
- 在C#中实现连接池
- tomcat6优化
- 账户-邮箱验证的业务逻辑
- int driver=VGA,mode=VGAHI技巧大法
- Excel操作
- ActiveMQ与RabbitMQ使用camel集成