hdu 1004
来源:互联网 发布:林珊珊淘宝店铺首页 编辑:程序博客网 时间:2024/06/06 17:16
一开始看到这题觉得没思路,因为并没有给出颜色的范围,那么就需要用到链表这样的特殊结构。然而,并不会使用指针的我,设计的链表根本不能运行。
然而,幸运的是,周一那天,让大神帮我查看了自己编写的二叉搜索树的代码,大神也是用gdb文件 调试之后才找出错因。
然而,我又改了好久,才想出用指针的引用来处理二叉树的插入。然而直接也没有想出来怎样解决二叉树的删除结点操作。虽然逻辑上很容易想明白,
但是由于对指针的使用还是太嫩,总是不能按我的心意来进行。
话不多说,这里是二叉搜索树方法,运行只花了0MS。测试数据太。。。狗血了。
#include<iostream>
#include<string.h>
#include<stdio.h>
using namespace std;
int cnt;
struct Node
{
int time;
char col[100];
Node *le,*ri;
bool operator <(Node node){
if(strcmp(col,node.col)<0)
return true;
else
return false;
}
bool operator ==(Node node)
{
if(strcmp(col,node.col)==0)
return true;
else
return false;
}
};
Node temp,*root,node;
void make(Node *&r,Node node)//这里并没有用上,因为插入时就考虑了类似的情况,比如叶子节点。
{
r=new Node;
strcpy(r->col,node.col);
r->time=1;
r->le=NULL;
r->ri=NULL;
return ;
}
void clearbst(Node *&r)
{
r=NULL;
return ;
}
void insertbst(Node *&r,Node node)
{
if(r==NULL)
{
r=new Node;
strcpy(r->col,node.col);
r->time=1;
r->le=NULL;
r->ri=NULL;
return ;
}
strcpy(temp.col,r->col);
if(node==temp){
r->time++;
if(r->time>cnt)
cnt=r->time;
return ;
}
else if(node<temp)
insertbst(r->le,node);
else
insertbst(r->ri,node);
}
void maxtime(Node *r)
{
if(r!=NULL)
{
maxtime(r->le);
if(r->time==cnt)
cout<<r->col<<endl;
maxtime(r->ri);
}
}
int main()
{
int n;
while(cin>>n,n!=0)
{
cnt=1;//回归,次数至少是1,但上一次也许会影响下一次的输出,范例很好.
getchar();
for(int i=1;i<=n;i++)
{
cin>>node.col;
insertbst(root,node);
}
maxtime(root);
clearbst(root);
}
}
- HDU 1004
- Hdu 1004
- HDU 1004
- hdu 1004
- hdu 1004
- hdu 1004
- HDU-1004
- hdu 1004
- HDU 1004
- HDU 1004
- hdu 1004
- HDU 1004
- hdu 1004
- HDU 1004
- hdu--1004
- HDU 1004
- HDU 1004
- hdu-1004
- some python code
- Jquery默认选中单选框radio第一个、选中指定值的单选框
- 小谈KMP算法
- ACM-猴子吃桃问题
- Oracle 树操作(select…start with…connect by…prior)
- hdu 1004
- leetcode Longest Substring Without Repeating Characters
- CString和std::wstring互转,LPCTSTR和std::wstring互转
- java 学习笔记
- C++ 写leetcode遇到的一些问题总结Restore IP Addresses
- 编写自己的android主界面=开机自启动自己的APP(Application of ADB disable/enable)
- 基于S3C2440的linux-3.6.6移植——LED驱动
- android中的单元测试
- Activity启动模式图文详解