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

网站电脑培训班附近有吗网站建设实务课本

网站电脑培训班附近有吗,网站建设实务课本,如何建设一个购物网站,打开网站弹出窗口代码目录 题目要求 手搓简易单链表 代码实现 题目要求 现有一链表的头指针 ListNode* head #xff0c;给一定值 x #xff0c;编写一段代码将所有小于 x 的节点排在其余节点之前#xff0c;且不能改变原来的数据顺序#xff0c;返回重新排列后的链表的头节点 举例说明给一定值 x 编写一段代码将所有小于 x 的节点排在其余节点之前且不能改变原来的数据顺序返回重新排列后的链表的头节点 举例说明 输入x 5 ; [1,3,9,6,5,4,7,2] 输出[1,3,4,2,9,6,5,7] 手搓简易单链表 代码演示 struct ListNode* n1 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n1); struct ListNode* n2 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n2); struct ListNode* n3 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n3); struct ListNode* n4 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n4); struct ListNode* n5 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n5); struct ListNode* n6 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n6); struct ListNode* n7 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n7); struct ListNode* n8 (struct ListNode*)malloc(sizeof(struct ListNode)); assert(n8);n1-val 1; n2-val 3; n3-val 9; n4-val 6; n5-val 5; n6-val 4; n7-val 7; n8-val 2;n1-next n2; n2-next n3; n3-next n4; n4-next n5; n5-next n6; n6-next n7; n7-next n8; n8-next NULL; 代码实现 代码演示 struct ListNode* partition(struct ListNode* head, int x) {// 小于 x 的头尾节点struct ListNode* lesshead;struct ListNode* lesstail;// 大于等于 x 的头尾节点struct ListNode* greaterhead;struct ListNode* greatertail;// 定义哨兵位lesshead lesstail (struct ListNode*)malloc(sizeof(struct ListNode));greaterhead greatertail (struct ListNode*)malloc(sizeof(struct ListNode));struct ListNode* cur head;while (cur ! NULL){if (cur-val x){lesstail-next cur;lesstail lesstail-next;}else{greatertail-next cur;greatertail greatertail-next;}cur cur-next;}// 链接两个链表lesstail-next greaterhead-next;greatertail-next NULL;head lesshead-next;free(lesshead);free(greaterhead);return head; } 代码解析 代码思路创建两个带哨兵位的单链表一个用来链接小于 x 的节点一个用来链接大于等于 x 的节点最后再把两个链表进行链接这样就完成了链表的分割并且没有改变原来的数据顺序 代码逻辑lesshead 和 lesstail 用来管控小于 x 的节点lesshead 是哨兵位不存储有效数据lesstail 向后链接小于 x 的节点greaterhead 和 greatertail 作用同上是用来链接大于等于 x 的节点进行分割后不要忘记将 greatertail 的 next 置空因为分割后 greatertail 节点不一定是为节点最后再将 lesshead 哨兵位的 next 赋值给 head 再释放即可 代码验证 算法的时间和空间复杂度 while 循环执行了 N 次每次内部常数次只 malloc 开辟了两个节点可忽略不计 算法的时间复杂度O(N) 算法的空间复杂度O(1)
http://www.hkea.cn/news/14548504/

相关文章:

  • 备案网站可以做论坛么营销型网站建设定制
  • 国外网站seo海南网站建设平台
  • 网站每月流量短网址生成源码
  • 网站后台 ftp中外商贸做网站好在哪
  • 2个淘宝可以做情侣网站么黄骅港鑫海化工招聘
  • 专业移动网站建设商四川网站建设scyiyou
  • 网站建设过程总结400元做网站送网推
  • 购物网站模版html设计院加盟
  • 网络公司代做的网站注意事项wordpress主题seven
  • 江苏省职业建设注册管理中心网站源码买卖网站
  • 海阔淘宝客助手wordpress演示站 | 紫色清新商城模板制作网站软件教程
  • 文明网站建设方案中国最厉害的建筑公司
  • 互联网站建设维护是做什么的龙岩建设局网站罗小波
  • 濮阳网站开发网站面向哪些地区做优化容易
  • 彩票网站 建设网站建设的公司选择哪家好
  • 简网站开发平台3000块钱在朋友圈投放广告
  • 怎样打开网站深圳莲花大厦住房和建设局网站
  • 企业网站怎么做html网络营销师证书需要多少钱
  • 站长统计 站长统计网站快速设计
  • 松江企业做网站怀化网站优化公司哪家好
  • 广州网站建设知名 乐云践新网站建设项目规划审批
  • 手机网站会员中心模板qq电脑版官网入口
  • 不想网站备案如何办网络科技公司起名大全参考
  • 江阴青阳道路建设网站自建电商网站销售商品
  • 万盛经开区规划建设局网站网络设计的步骤包括
  • 12306网站花多少钱做的秦皇岛市是几线城市
  • 建设网站怎么挣钱公众号平台怎么做
  • 怎样做网站的反链wordpress协会主题
  • 广州网站开发棋牌龙岩到永定
  • 做视频课程网站网站的分析与设计