永发信息网

几个写代码的题

答案:1  悬赏:30  手机版
解决时间 2021-04-25 02:01

1.设计算法生成小根堆并在上实现相关数据的插入删除。
2.设计算法用生成小根堆的函数实现数据的排序。

3.平面上求最短点对算法。

4.给出quicksort的迭代样式。

最佳答案
做第二个,这是自己以前写的代码:

#include <stdio.h>

void swap(int* a, int* b)
{
int t;
t = *a; *a = *b; *b = t;
}

void minHeapify(int* a, int i, int n)
{
int l, r, m;
do{
r = (i+1) << 1;
l = r - 1;
m = l < n && a[l] < a[i] ? l : i;
m = r < n && a[r] < a[m] ? r : m;
if(i != m) swap(a+i, a+m), i = m;
else break;
}while(1);
}

void heapSort(int* a, int n)
{
int i;
for(i = (n-1)/2; i >= 0; --i)
minHeapify(a, i, n);
for(i = n-1; i > 0; --i) {
swap(a, a+i);
minHeapify(a, 0, --n);
}
}


void print(int* a, int* b)
{
while(a < b)
printf("%d ", *a++);
putchar('\n');
}

int main()
{
int a[10] = {6,3,1,9,7,4,0,5,8,2};
heapSort(a, 10);
print(a, a+10);
return 0;
}
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
写出5个关于亚运的问题?
书中排比好句子摘抄,排比句摘抄大全
今天莫威廉姆斯得了多少分?
怎么免费得QQ币,最快的
店里卖的那种贴在手机上就可以防辐射的东东、
汉本堂养生会所我想知道这个在什么地方
为什么脸上总是起小痘痘?
935 在网络聊天什么意思?
为什么男人陪女人逛街会觉得无聊呢?
2010快乐男声5进4谁被淘汰?
这样的精液正常吗 ?
美元要怎么汇,有指定银行吗
2k10乔丹补丁怎么用啊
桔子树使用什么肥料
IE进不了空间为什么?
推荐资讯
梦见女厕所,挺干净的!
关于等一个人的古风句子
现在旋舞里在房间内身上围绕蓝色的光 像丝带
QQ空间的制作问题
ThinkPad T500笔记本的3650显卡是DDR几代的?
新开店铺怎样提高信誉,新手刚开个淘宝店铺,
如何开网络商店啊?
找点好听的流行歌
舞蹈等级在哪里考,我是兰州的
太刚在哪个区
诺基亚3500c求货!?要货!祥行水货各多少钱
吃完东西就肚子疼
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?