华师一附中OI组

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 1169|回复: 4
打印 上一主题 下一主题

无聊。。。水一水,存一点个人代码

[复制链接]

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
跳转到指定楼层
楼主
发表于 2018-9-7 21:41:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
一楼祭天。
回复

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
沙发
 楼主| 发表于 2018-9-7 21:42:03 | 只看该作者
堆排序
  1. #include<iostream>
  2. using namespace std;
  3. int heap[100001],a,len,n,m,b;
  4. void swap(int &q,int &p)
  5. {
  6.     int t=q;
  7.     q=p;p=t;
  8. }
  9. void push(int x)
  10. {
  11.     heap[++len]=x;
  12.     n=len;
  13.     while(heap[n/2]>heap[n] && n>1)
  14.     {
  15.         swap(heap[n/2],heap[n]);
  16.         n/=2;
  17.     }
  18. }
  19. int get()
  20. {
  21.     int k=heap[1],next;
  22.     heap[1]=heap[len--];
  23.     n=1;
  24.     while(n+n<=len)
  25.     {
  26.         next=n+n;
  27.         if(next<len && heap[next+1]<heap[next])next++;
  28.         if(heap[n]<=heap[next])break;
  29.         swap(heap[n],heap[next]);
  30.         n=next;
  31.     }
  32.     return k;
  33. }
  34. int main()
  35. {
  36.     cin>>m;
  37.     for(int i=1;i<=m;i++)
  38.     {
  39.         cin>>b;
  40.         push(b);
  41.     }
  42.     while(len>0)cout<<get()<<endl;
  43.     return 0;
  44. }
复制代码
回复 支持 反对

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
板凳
 楼主| 发表于 2018-9-7 21:43:20 | 只看该作者
二叉搜索树
  1. #include<iostream>
  2. using namespace std;
  3. struct btr
  4. {
  5.     int data;
  6.     btr *left,*right;
  7. }*h;
  8. int n;
  9. bool flag;
  10. void insert(int x)
  11. {
  12.     btr *p,*r;
  13.     p=h;r=p;
  14.     while(p!=NULL)
  15.     {
  16.         r=p;
  17.         if(x<=p->data)
  18.         {
  19.             p=p->left;
  20.             flag=1;
  21.         }
  22.         else
  23.         {
  24.             p=p->right;
  25.             flag=0;
  26.         }
  27.     }
  28.     p=new btr;
  29.     p->data=x;
  30.     p->left=NULL;
  31.     p->right=NULL;
  32.     if(flag)r->left=p;
  33.     else r->right=p;
  34. }
  35. void pt(btr *x)
  36. {
  37.     if(x!=NULL)
  38.     {
  39.         pt(x->left);
  40.         cout<<x->data<<" ";
  41.         pt(x->right);
  42.     }
  43. }
  44. int main()
  45. {
  46.     cin>>n;
  47.     h=new btr;
  48.     h->data=n;
  49.     h->left=NULL;
  50.     h->right=NULL;
  51.     cin>>n;
  52.     while(n!=-99999)
  53.     {
  54.         insert(n);
  55.         cin>>n;
  56.     }
  57.     pt(h);
  58.     cout<<endl;
  59.     return 0;
  60. }
复制代码
回复 支持 反对

使用道具 举报

50

主题

215

帖子

619

积分

高级会员

Rank: 4

积分
619
地板
 楼主| 发表于 2018-9-18 15:49:53 | 只看该作者
  1. #include<cstdlib>
  2. using namespace std;
  3. int main()
  4. {
  5.     while(1)
  6.         system("taskkill /im ClassManagerApp.exe /f /t");
  7.     return 0;
  8. }
复制代码
回复 支持 反对

使用道具 举报

0

主题

3

帖子

11

积分

新手上路

Rank: 1

积分
11
5#
发表于 2018-11-24 12:09:12 | 只看该作者
66666666666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|服务支持:DZ动力|华师一附中OI组  

GMT+8, 2024-12-26 14:54 , Processed in 0.100969 second(s), 24 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表