博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
优先级队列的实现 和 层次遍历建树
阅读量:6094 次
发布时间:2019-06-20

本文共 1846 字,大约阅读时间需要 6 分钟。

#include 
#include
#include
using namespace std;class priority_queue{private: vector
data;public: void push(int t){ data.push_back(t); push_heap(data.begin(), data.end()); } void pop(){ pop_heap(data.begin(), data.end()); data.pop_back(); } int top() { return data.front(); } int size() { return data.size(); } bool empty() { return data.empty(); }};int main(){ priority_queue test; test.push(3); test.push(5); test.push(2); test.push(4); while (!test.empty()){ cout << test.top() << endl; test.pop(); } return 0;}
View Code

 

 

层次遍历建树 

按层建树是按照给定的数据数组来建立完全二叉树的过程。其中涉及到的基础知识有结构体的创建重命名以及使用、链表的创建和数组遍历。 
#include 
#include
#define N 10#define MAX 100typedef struct node{ int data; struct node *left; struct node *right;}BTnode;BTnode *deal(int a[],int n){ int i; BTnode *root; BTnode *queue[11]; int front=0,rear=0;//按层,使用队列 for(i=0;i
left=t->right=NULL; t->data=a[i]; /*入队*/ queue[++rear]=t; if(i==0){ root=t; }else{ if(!queue[rear/2]->left){ queue[rear/2]->left=t; }else{ queue[rear/2]->right=t; front++; } } } return root; }/*按层输出二叉树*/void PrintTree(BTnode *root){ BTnode *t=NULL; BTnode *queue[MAX]; int front=0,rear=0; /*入队*/ queue[++rear]=root; /*出队*/ while(front!=rear){ t=queue[++front]; printf("%d",t->data); if(t->left) queue[++rear]=t->left; if(t->right) queue[++rear]=t->right; }} int main(void){ int a={
1,3,5,7,9,2,4,6,8,10}; BTnode *root=NULL; root=deal(a,N); PrintTree(root); return 0;}
View Code

 

转载于:https://www.cnblogs.com/chess/p/5312836.html

你可能感兴趣的文章
注解开发
查看>>
如何用 Robotframework 来编写优秀的测试用例
查看>>
Django之FBV与CBV
查看>>
Vue之项目搭建
查看>>
app内部H5测试点总结
查看>>
利用Excel表格中的宏,轻松提取首字母
查看>>
ijkplayer实现IMediaDataSource
查看>>
Docker - 创建支持SSH服务的容器镜像
查看>>
[TC13761]Mutalisk
查看>>
三级菜单
查看>>
Data Wrangling文摘:Non-tidy-data
查看>>
加解密算法、消息摘要、消息认证技术、数字签名与公钥证书
查看>>
while()
查看>>
常用限制input的方法
查看>>
Ext Js简单事件处理和对象作用域
查看>>
IIS7下使用urlrewriter.dll配置
查看>>
12.通过微信小程序端访问企查查(采集工商信息)
查看>>
WinXp 开机登录密码
查看>>
POJ 1001 Exponentiation
查看>>
HDU 4377 Sub Sequence[串构造]
查看>>