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

美橙网站建设怎么做百度官方网站下载

美橙网站建设怎么做,百度官方网站下载,网站转移动版,wordpress 数码主题一、理论 1 单链表结构 2 增、删、查 、改思路 (增)直接添加放到最后即可。按顺序添加:找到要修改的节点的前一个节点,插入新节点()。(改)要修改的节点修改内容即可。(…

一、理论

1 单链表结构

在这里插入图片描述

2 增、删、查 、改思路

  • (增)直接添加放到最后即可。按顺序添加:找到要修改的节点的前一个节点,插入新节点()。
  • (改)要修改的节点修改内容即可。
  • (删)找到待删除节点的前一个节点,把要删除节点的后一个节点信息存放到该节点的next即可
  • (查==较容易)遍历依次打印即可。按编号查找,找到对应编号打印即可

二、代码实现

1、JAVA代码实现

package basicdata;public class SingleLinkedListTest {public static void main(String[] args) {Node node1 = new Node(123, "Tom", "无极剑道");//SingleLinkedList singleLinkedList = new SingleLinkedList();singleLinkedList.addNode(node1);singleLinkedList.list();System.out.println("*******************");singleLinkedList.addByOrder(new Node(234, "Jack", "断头斩杀"));singleLinkedList.addByOrder(new Node(121, "Jack", "断头斩杀"));singleLinkedList.addByOrder(new Node(121, "Jack", "断头斩杀"));singleLinkedList.list();//System.out.println("******修改后*******");//singleLinkedList.alter(new Node(121, "Bob", "无形之刃"));//singleLinkedList.list();// System.out.println("**************");//singleLinkedList.delNode(234);System.out.println("***反转后***");singleLinkedList.reverSetList();singleLinkedList.list();}
}
//
class SingleLinkedList{// 先初始化一个头结点,头节点不存放数据private Node head = new Node(0,"表头","领导单链表");// 返回表头public Node getHead(){return head;}public SingleLinkedList() {}// 添加节点到单链表,按添加顺序排列public void addNode(Node node){// 思路:把头结点的地址给temp//      直到next = null时,让next存放添加的节点Node temp = head;while (true){if (temp.next == null) {break;}else {temp = temp.next;}}// 退出while 循环时 temp.next = nulltemp.next  = node;}// 遍历单链表public void list(){Node temp = head;if (head == null) {System.out.println("链表为空");return;}while (true){if (temp == null) {break;}else {// 输出节点信息System.out.println(temp);// 指针后移temp = temp.next;}}}//  根据编号顺序插入节点 ,链表内容按编号从小到大排列public void addByOrder(Node node){// 需要先找到要添加位置的前一个节点// 链表为空不需要单独考虑Node temp = head;// 为找到插入位置 需要一个 flagboolean flag = false;while (true){// 此情况可以添加,添加到表头后if (temp.next == null) { // 到链表末端break;}// 此情况不可以添加,要添加的编号已经存在if (temp.next.number == node.number) {flag = true;break;}//此情况为找到要添加位置的前一个节点,可以添加if (temp.next.number > node.number) {break;}else {temp = temp.next;}}if (flag ) {System.out.printf("你要插入的节编号%d已经存在",node.number);System.out.println();}else {node.next = temp.next ;temp.next=node;}}// 修改节点信息(根据编号),编号不变,修改内容public void alter(Node node){if (head.next == null) {System.out.println("链表为空");return;}// 和按编号插入(Node temp = head;)稍微有点区别// Node temp  = head.next;Node temp  = head.next;boolean flag = false;while (true){if (temp == null) {break;}// 找到要修改的节点,可以修改if (temp.number == node.number) {flag = true;break;}else {temp = temp.next;}}if (flag) {// 修改temp.name = node.name;temp.skill= node.skill;}else {System.out.println("没有找到要修改的节点");}}// 根据编号删除节点public void delNode(int number){//需要找到待删除的前一个节点Node temp = head;boolean flag = false;while (true){if (temp.next == null) {break;}//找到待删除的前一个节点if (temp.next.number == number) {flag = true;break;}else {temp  =  temp.next;}}if (flag ) {//temp.next = temp.next.next;}else {System.out.println("要删除的元素不存在");}}// 反转单链表public void reverSetList(){if (this.head.next== null||this.head.next.next==null) {return;}Node tempCur = this.head.next; // 辅助变量Node tempNext = null;      // 指向tempCur,不然会丢失Node reverSetHead = new Node(0, "", ""); // 新链表while (tempCur != null){tempNext = tempCur.next; //存储当前节点的下一节点tempCur.next = reverSetHead.next;// 头插法 把当前节点接到到reverSetHeadreverSetHead.next = tempNext;tempCur=tempNext;// 后移}this.head.next = reverSetHead.next;}}
// 定义Node
class Node{public int number;public String name;public String skill;public Node next;    //存放下一个节点地址
//构造器public Node(int number, String name, String skill) {this.number = number;this.name = name;this.skill = skill;//this.next = next;// 理解:不给next赋值//没申请一个节点时 next = null}//重写 toString@Overridepublic String toString() {return "Node{" +"number=" + number +", name='" + name + '\'' +", skill='" + skill + '\'' +'}';}
}

运行结果

Node{number=0, name='表头', skill='领导单链表'}
Node{number=123, name='Tom', skill='无极剑道'}
*******************
你要插入的节编号121已经存在
Node{number=0, name='表头', skill='领导单链表'}
Node{number=121, name='Jack', skill='断头斩杀'}
Node{number=123, name='Tom', skill='无极剑道'}
Node{number=234, name='Jack', skill='断头斩杀'}
******修改后*******
Node{number=0, name='表头', skill='领导单链表'}
Node{number=121, name='Bob', skill='无形之刃'}
Node{number=123, name='Tom', skill='无极剑道'}
Node{number=234, name='Jack', skill='断头斩杀'}
删除后**************
Node{number=0, name='表头', skill='领导单链表'}
Node{number=121, name='Bob', skill='无形之刃'}
Node{number=123, name='Tom', skill='无极剑道'}

2、C语言代码实现

http://www.dinnco.com/news/71871.html

相关文章:

  • 宁波制作网站哪个好短视频营销案例
  • 怎么样注册公司流程和费用搜索引擎优化是什么意思
  • 怎么加快网站打开速度宜昌网站seo收费
  • 在百度上免费做网站页面seo技术培训机构
  • 企业网站公安备案武汉网站seo德升
  • 怎么做qq钓鱼网站吗北京搜索引擎推广公司
  • wordpress服装插件win7优化大师
  • 建设银行集团网站首页搜什么关键词能搜到好片
  • 做网站发票河南怎样做网站推广
  • 简约网站设计欣赏seo兼职工资一般多少
  • 帝国cms企业网站模板百度广告平台电话
  • 郑州设计网站的公司百度网页游戏大厅
  • 做外贸怎么登陆国外网站google adwords关键词工具
  • 关键词网络推广嘉兴优化公司
  • 网站上的定位怎么做品牌网站设计
  • 政府网站asp源码怎么快速优化网站排名
  • 香水网站模板推广平台排名前十名
  • 商业网站建设软件北京网站优化步骤
  • 织梦系统做的网站忘记登录密码网站如何添加友情链接
  • 潍坊 网站建设收录查询 站长工具
  • 陕西做网站电话营销型网站建设企业
  • 物流公司网站建设方案软文是什么
  • 武汉网站建设dw027完善的seo网站
  • o2o网站建设公司上海专业的网络推广
  • html布局模板株洲seo快速排名
  • 网站建设需要什么教材2021国内最好用免费建站系统
  • jsp源码做网站郑州搜索引擎优化公司
  • 网站定制需求可口可乐网络营销策划方案
  • 营销网站做推广太原百度推广开户
  • 怎样做网站优化排名北京网站制作