无序链表实现优先队列
来源:互联网 发布:linux shutdown -h 编辑:程序博客网 时间:2024/04/20 03:20
using namespacestd;
typedef struct node
{
int data;
structnode* next;
}*PNode,Node;
PNode create(int a[],int n)
{
PNode header;
PNode p = header =new node;
if (!p)
{
cout <<"create failed!"<<endl;
returnNULL;
}
p->data = a[0];
p->next =NULL;
for (int i =1;i < n;++i)
{
PNode q = newnode;
if (!q)
{
--i;
continue;
}
q->data = a[i];
q->next = p->next;
p->next = q;
p = q;
}
return header;
}
void deleteNode(PNode header)
{
PNode p = header;
while (p)
{
PNode q = p->next;
PNode max= p;
PNode prev = p;
PNode tempP=NULL;
while (q)
{
if (max->data < q->data)
{
max = q;
tempP = prev;
}
prev = q;
q = q->next;
}
if (!max->next)
{
if (tempP)
{
tempP->next =NULL;
}
else
{
if(max == header)
{
header = header->next;
}
}
}
elseif(max != header)
{
tempP->next = max->next;
}
elseif(max == header)
{
header = header->next;
}
cout<<max->data<<" ";
delete max;
max =NULL;
p = header;
}
}
void showLink(PNode header)
{
PNode p = header;
while (p)
{
cout<<p->data<<" ";
p = p->next;
}
}
- 无序链表实现优先队列
- 无序双向链表的优先队列
- 优先队列:采用无序顺序表描述
- 无序双向优先队列
- 优先队列(链表实现)
- 优先队列的链表实现
- 有序链表实现优先队列
- 利用无序数组实现优先队列并排序数组——ADT实现
- 利用数组和链表实现优先队列
- Python实现优先队列
- 优先队列实现堆
- 优先队列的实现
- 优先队列实现栈
- Python实现优先队列
- 优先队列实现
- 优先队列(堆实现)
- 实现一个优先队列
- 优先队列 C实现
- ASP.NET 安全认证(四)
- Eclipse汉化教程
- C# out 的用法
- 项目中用到的Repeater三层嵌套
- 基于XMPP协议的Android即时通信系
- 无序链表实现优先队列
- 笔试 面试题 网友汇总(放在自己的文章列表里)
- 一站式学习C编程 学习笔记(2)—运算符详解
- XSS ShellCode的调用
- YII框架 验证码使用 转载自墙角花开的博客
- Linux下的Platform总线驱动
- 30条java经典笔记
- 如何解析类SQL语句,并提取参数
- thinkphp中一个很好的方法