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

河北网站备案查询系统网站制作 php

河北网站备案查询系统,网站制作 php,我要表白网app,贵州省住房和城乡建设厅网站(链表的前提 GO语言的链表类似于C语言的链表#xff0c;它通过结构体和结构体指针实现。 结构体 GO语言定义结构体如下 type user struct {name stringage intnext *user } 结构体指针 结构体指针就是指向结构体的指针#xff0c;我们在链表中会用到结构体指针实现链…链表的前提 GO语言的链表类似于C语言的链表它通过结构体和结构体指针实现。 结构体 GO语言定义结构体如下   type user struct {name stringage intnext *user } 结构体指针 结构体指针就是指向结构体的指针我们在链表中会用到结构体指针实现链表节点之间的连接 next *user   就是结构体指针 构建链表 构建链表需要三点头节点尾节点中间节点 头节点的作用相当于链表的入口尾节点用来表示节点的结尾中间节点用于存储信息 创建头节点   head : user{} //此时的head 类型是*user 插入节点 1.尾插法 func insert_end(head *user, name string, age int) *user {new_user : user{name, age, nil}p : headfor {if p.next ! nil {p p.next}break} //循环结束后p指向最后一个节点p.next new_userreturn head } 为什么new_user : user{name, age, nil}创建一个结构体指针 而不是创建一个结构体变量 如果我们直接创建一个结构体变量那它的类型就是user由因为我们是在insert_end函数里面创建的这个变量所以它的生命周期只有在这个函数里面存在。并且我们在接入节点的时候p.next new_user就会报错我们就需要改成p.next new_user。但是当我们的函数结束的时候new_user 就会被销毁p.next就会指向一个已经被销毁的内存。但是我们使用new_user : user{name, age, nil}的时候虽然user会随着函数结束而销毁但是这个内存由于被链表引用所以会一直存在。 尾插法的核心点在于寻找尾节点并让尾节点的next指向新节点 2.头插法 func insert_head(head *user, name string, age int) *user {p : head.nextnew_user : user{name, age, nil}head.next new_usernew_user.next preturn head } 最后返回head是保证外部的head结构正确。我们在insert_head函数里面的head并不是main函数里面的head他只是一个副本我们需要副本覆盖掉原来的。所以需要return head副本 3.中插法指定插入到某个节点之前 func insert_body(head *user, name string, age int, key string) *user {new_user : user{name, age, nil}p : headp2 : head.nextfor p2 ! nil {if p2.name key {p.next new_usernew_user.next p2return head}p p2p2 p2.next}// 如果循环结束都没有找到则输出错误信息fmt.Println(插入错误没找到对应的节点)return head } 在这个方法中我们需要确定当前节点的下一个节点是否是我们需要插入到它之前的节点。如果是的话就让当前节点的next指向新节点新节点的next指向原下一节点。 链表的删除 func delete(head *user, key string) *user {p : headp2 : head.nextfor p2 ! nil {if p2.name key {p.next p2.next}p p2p2 p2.next}return head }删除的主要点在于让上一节点直接指向被删除节点的next掠过这个节点。被删除节点由于无人引用就会自动回收 链表的遍历 func bianli(head *user) {p : head.nextfor {if p ! nil {fmt.Println(p.name, p.age)} else {break}p p.next} } 遍历只需要一个头节点不断循环下去一直循环到nil为止然后输出对应节点的信息
http://www.hkea.cn/news/14380057/

相关文章:

  • 个人网站怎么推广素材网站在哪里找
  • seo站长工具箱典型的软件开发模型
  • 官方网站在哪里wordpress添加js
  • 上海医疗网站备案wordpress职场博客
  • 网站点击弹出下载框 怎么做的微信公众平台网页
  • 刚做的网站 为啥搜不到北京网页设计公司招聘
  • 涡阳做网站上海静安做网站多少钱
  • 网站谁做的展厅效果图
  • 网站策划培训个人简历免费模板
  • 虚拟主机建站教程杭州房产免费网站建设
  • 外贸建站 知乎wordpress页面设置教程
  • 网站做等保官方网页qq登陆
  • 建筑网站案例wordpress会员微信支付
  • 私募网站建设莆田网站建站
  • 学做西餐的网站微企点建好网站后要怎么做
  • iis部署网站 红叉王者荣耀是哪家公司开发的
  • 无形资产 网站开发wordpress 图库插件
  • php企业网站整站源码seo网站优化推广
  • 关于门户网站建设讲话wordpress自动采集规则
  • 一个网站的后台怎么做做网站和视频剪辑用曲面屏
  • php网站模板源码国外男女直接做的视频网站
  • 镇海区建设交通局网站进不去了广西柳州网站建设小程序公司
  • 陕西省建设信息管理网站国内现货交易平台
  • 东莞网站建设制作价格哪些网站建设公司
  • 注册查询官方网站114啦网址导航官网
  • 番禺建设网站外包小制作作文400字
  • HTML做网站的书籍商丘做网站需要多少钱
  • 网站中全景是怎么做的网页界面设计方案
  • wordpress网站导航子菜单中国建设银行保函查询网站
  • 中国建设银行官方网站物流公司做网站注重什么