当前位置: 首页 > news >正文

做网站是干嘛/广告公司广告牌制作

做网站是干嘛,广告公司广告牌制作,怎样做独立网站,柳州网站建设找哪家题意: 看白书 要点: 这题还真难,有很多不知道的特殊函数知识不说,还有很多C的容器。结点最多256个,要考虑最差的情况就是排成一条链,这样深度是256,如果用数组会爆炸,所以用动态分配…

题意:

看白书

要点:

这题还真难,有很多不知道的特殊函数知识不说,还有很多C++的容器。结点最多256个,要考虑最差的情况就是排成一条链,这样深度是256,如果用数组会爆炸,所以用动态分配。

sscanf()的这种读取字符串转换为整数的方法比较特殊,适用面比较窄:sscanf(&s[0],"%d",&i),如果要能提取字符串中的数字,首先这个字符串必须满足第一个是数字,后面可以是字符,但后面如果出现数字同样不能提取,例如:815aff15gfd,只能提取到815,如果是ad158gdg这种,可以将&s[0]改为&s[2],这样相当于从第3个开始是数字。

#include<cstdio>
#include<iostream>
#include<cstring>
#include<vector>
#include<queue>
#include<algorithm>
using namespace std;char s[1000];
bool failed;    //判断输入的数据是否有误的标记
vector<int > ans;
struct node
{bool have_value;int value;node *left,*right;node() :have_value(false), left(NULL), right(NULL) {}  //C++中特有的结构体构造函数,相当于调用时都初始化一次
};
node *root;node* newnode()
{return new node();  //其他功能跟malloc差不多,但malloc不调用类型中的构造函数,所以只能用new
}                       //new自动返回对应node的指针void addnode(int v, char *s)
{int n = strlen(s);node* u = root;for (int i = 0; i < n; i++){if (s[i] == 'L'){if (u->left == NULL)u->left= newnode();u = u->left;}else if(s[i]=='R'){if (u->right == NULL)u->right = newnode();u = u->right;}	}if (u->have_value)  failed = true;   //已经赋值过,说明输入有误u->value = v;u->have_value = true;
}
bool read_input()
{failed = false;root = newnode();while(1){if (scanf("%s", s)!=1)return false;if (!strcmp(s, "()"))break;int v;sscanf(&s[1], "%d", &v);   //特殊,第一个字符可以是非数字,第二个开始必须为数字addnode(v, strchr(s, ',') + 1);//strchr在s中寻找第一个“,”,并返回指向它地址的指针}return true;
}
bool bfs(vector<int>& ans)//vector为不定长数组,不用像一般数组那样先指定大小
{queue<node*> q;//可以用队列实现二叉树的层次遍历,即宽度优先遍历BFSans.clear();q.push(root);while (!q.empty()){node *u = q.front(); q.pop();if (!u->have_value) return false;ans.push_back(u->value);      //在不定长数组当前最后加一个数if (u->left != NULL) q.push(u->left);if (u->right != NULL) q.push(u->right);}return true;
}
void pri_out()
{int t = 0;for (int i = 0; i<ans.size(); i++) //只要像普通数组那样输出就行{if (i) printf(" ");printf("%d", ans[i]);}printf("\n");ans.clear();
}int main()
{while (read_input()){if (failed || !bfs(ans)) printf("not complete\n");else pri_out();}return 0;
}


转载于:https://www.cnblogs.com/seasonal/p/10343858.html

http://www.lbrq.cn/news/933319.html

相关文章:

  • 网站登录页面怎么做/百度关键词优化软件怎么样
  • 网站建设数据库的购买/如何制作自己的网站
  • web前端模板下载网站/网络营销公司如何建立
  • 淘客网站做百度推广/seo排名软件怎么做
  • 抄袭网站案例/全网搜索引擎
  • erp网站代做/seo网络营销推广
  • 杭州网站公安备案/国外免费建站网站搭建
  • 阳江网站建设公司/网站如何推广出去
  • 网赢天下深圳网站建设/宁波seo网络推广选哪家
  • 月嫂网站建设方案/搜索引擎优化解释
  • wordpress主题ftp失败/深圳网站优化培训
  • 网站客服代码/微信软文怎么写
  • 做网站有没有前景/青岛网站推广关键词
  • 徐州网站建设新闻/找小网站的关键词
  • 做网站 花园路国贸/种子搜索神器
  • 四平做网站/西安百度推广开户
  • 设计公司企业标志/免费网站seo诊断
  • 上海营销平台网站建设/株洲发布最新通告
  • 做网站广告联盟赚钱/太原网站制作推广
  • ip直接访问网站 备案/德芙巧克力软文推广
  • 网站开发需要/网站建设的六个步骤
  • 外贸营销词/深圳百度关键字优化
  • 如何设计网站logo/谷歌浏览器下载安卓版
  • 连锁公司网站源码/企业培训内容包括哪些内容
  • thinkphp微网站开发/重庆seo哪个强
  • wordpress主题 加载许多js/seo自学网免费
  • 中国企业500强入围标准/无忧seo博客
  • 湖州网站做等保费用/大数据培训机构排名前十
  • 德州哪里有学做网站的/佛山网站定制
  • wordpress更改链接后网站打不开/2023北京封控了
  • 从 0 到 1 认识 Spring MVC:核心思想与基本用法(下)
  • Trust Management System (TMS)
  • 【Linux我做主】进程优先级
  • 法式基因音响品牌SK(SINGKING AUDIO)如何以硬核科技重塑专业音频版图
  • 【ip】IP地址能否直接填写255?
  • gaussdb demo示例