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

安全的赣州网站建设自适应网站建设

安全的赣州网站建设,自适应网站建设,贵州碧江区住房和城乡建设局网站,招聘网站做招聘顾问2014-03-21 22:23 题目#xff1a;假设你一开始有一个空数组#xff0c;你在读入一些整数并将其插入到数组中#xff0c;保证插入之后数组一直按升序排列。在读入的过程中#xff0c;你还可以进行一种操作#xff1a;查询某个值val是否存在于数组中#xff0c;并给出这个… 2014-03-21 22:23 题目假设你一开始有一个空数组你在读入一些整数并将其插入到数组中保证插入之后数组一直按升序排列。在读入的过程中你还可以进行一种操作查询某个值val是否存在于数组中并给出这个元素在数组中的位置(如果有多个的重复元素话给出最小的下标)。 解法书上的原题不是这么描述的但我觉得用这种插入排序的说法更好理解。虽然说是数组但实际上既可以用真的数组来模拟这一过程也可以用一棵二叉搜索树来做。我的实现是用二叉搜索树每个节点里除了记录元素的值之外还记录它的左子树有多少个点。这样在树里面也能进行对数级的查找。其实用数组直接模拟的话代码应该更好写的。 代码 1 // 11.8 Given an array of integers, find out for a given value, how many integers are there in the array, that are no greater than the value.2 // If the value is not in the array, return -1 instead.3 #include algorithm4 #include iostream5 #include string6 using namespace std;7 8 struct TreeNode {9 int val; 10 int count; 11 int count_left; 12 TreeNode *left; 13 TreeNode *right; 14 TreeNode(int _val 0): val(_val), count(1), count_left(0), left(nullptr), right(nullptr) {}; 15 }; 16 17 void insertNode(TreeNode *root, int val) 18 { 19 if (root nullptr) { 20 root new TreeNode(val); 21 } else if (val root-val) { 22 (root-count); 23 } else if (val root-val) { 24 (root-count_left); 25 insertNode(root-left, val); 26 } else { 27 insertNode(root-right, val); 28 } 29 } 30 31 int getRank(TreeNode *root, int val) 32 { 33 int result; 34 TreeNode *ptr; 35 36 result 0; 37 ptr root; 38 while (ptr ! nullptr) { 39 if (ptr-val val) { 40 ptr ptr-left; 41 } else if (ptr-val val) { 42 result ptr-count_left 1; 43 ptr ptr-right; 44 } else { 45 break; 46 } 47 } 48 if (ptr ! nullptr) { 49 result ptr-count_left; 50 return result; 51 } else { 52 return -1; 53 } 54 } 55 56 void clearTree(TreeNode *root) 57 { 58 if (root ! nullptr) { 59 clearTree(root-left); 60 clearTree(root-right); 61 delete root; 62 root nullptr; 63 } 64 } 65 66 int main() 67 { 68 int val; 69 TreeNode *root; 70 string s; 71 72 root nullptr; 73 while (cin s) { 74 if (s i) { 75 cin val; 76 insertNode(root, val); 77 } else if (s r) { 78 cin val; 79 printf(rank %d\n, getRank(root, val)); 80 } else if (s e) { 81 break; 82 } 83 } 84 clearTree(root); 85 86 return 0; 87 }   转载于:https://www.cnblogs.com/zhuli19901106/p/3616871.html
http://www.huolong8.cn/news/259282/

相关文章:

  • 深圳网站建设专业的公司正定网站建设
  • server 2008 r2搭建网站手机可以下载wordpress吗
  • 江津哪里找做网站的泉州找工作网站
  • 做cpa用什么网站html作业
  • dede网站mip代做网页制作网站
  • 网站建设 gei l fwordpress微博登陆
  • 网站推广计划渠道店铺代运营服务
  • 有教做点心的网站吗网站制作软件手机版
  • 网站开发会计处理经典品牌推广文案
  • 做网站需要的执照汉寿网站建设
  • 安康做网站做动物网站的原因是
  • wordpress一小时建站企业信息查询平台官网
  • 浅谈企业网站建设的目标盐城北京网站建设
  • 怎样把自己做的网站放到网上本地南通网站建设
  • 济南高新区网站建设公司网站增加一体化建设功能的好处
  • 余杭区建设局网站制作相册小程序
  • 网站如何微信支付做两个阿里网站
  • 出售自己的网站建设银行网站怎么下载地址
  • 网站建设与设计毕业设计Wordpress已有数据库表
  • 青州做网站的电话网站哪个好
  • 白酒网站源码网站上线模板
  • 网站建设明薇通网络不错哈尔滨口碑好的网站建设
  • 婚纱摄影建设网站的目的电商平台软件开发公司
  • 政务服务网站建设环保网页设计代码
  • 网站兼容性怎么调华为云怎么建网站
  • 1个ip可以做几个网站上海室内软装设计公司排名
  • 清苑区建设网站找那家公司xps13适合网站开发吗
  • 本地广东中山网站建设seo优化费用
  • 网站建设后期服务协议cms中文名称是什么
  • 网站制作把图片做背景小程序商城开发华网天下优秀