zoukankan      html  css  js  c++  java
  • 堆中的路径

    05-树7 堆中的路径(25 分)

    将一系列给定数字插入一个初始为空的小顶堆H[]。随后对任意给定的下标i,打印从H[i]到根结点的路径。

    输入格式:

    每组测试第1行包含2个正整数N和M(1000),分别是插入元素的个数、以及需要打印的路径条数。下一行给出区间[-10000, 10000]内的N个要被插入一个初始为空的小顶堆的整数。最后一行给出M个下标。

    输出格式:

    对输入中给出的每个下标i,在一行中输出从H[i]到根结点的路径上的数据。数字间以1个空格分隔,行末不得有多余空格。

    输入样例:

    5 3
    46 23 26 24 10
    5 4 3
    

    输出样例:

    24 23 10
    46 23 10
    26 10
     1 #include<iostream>
     2 #include<vector>
     3 using namespace std;
     4 #define MAXSIZE 1001
     5 #define Min -10001
     6 int H[MAXSIZE],size;
     7 void create(){
     8 size=0;
     9 H[0]=Min;
    10 }
    11 void Insert(int t){
    12 int i;
    13 for(i=++size;H[i/2]>t;i/=2)
    14 H[i]=H[i/2];
    15 H[i]=t;
    16 }
    17 int main()
    18 {
    19 int p,q,t;
    20 cin>>p>>q;
    21 if(p)
    22 create();
    23     for(int i=0;i<p;i++){
    24         cin>>t; Insert(t);
    25    }
    26     for(int i=0;i<q;i++){
    27     cin>>t; cout<<H[t];
    28         for(;t/2>0;t/=2)
    29         cout<<" "<<H[t/2];
    30         cout<<endl;
    31 }
    32 return 0;
    33 }
    View Code
     

  • 相关阅读:
    phonegap ios插件开发及无限后台运行解决
    iOS JSON解析
    ios上取得设备唯一标志的解决方案
    为iOS7重新设计你的App
    iOS多线程GCD 研究
    自定义用户环境
    启用SELinux保护
    shell编写一个批量添加用户脚本
    shell编写一个判断脚本
    shell使用特殊变量
  • 原文地址:https://www.cnblogs.com/A-Little-Nut/p/8056088.html
Copyright © 2011-2022 走看看