zoukankan      html  css  js  c++  java
  • 再窥--单链表和顺序存储

    先接一下上次的笔记,实现对单链表进行删除

    思路实现

    1. 声明结点p和q
    2. 首节点赋值给p,下一个结点赋值给q
    3. 循环执行释放p,将q赋值给p的操作(删除第一个结点后,之后的结点就是首节点了,以此类推)
    string ClearList(Node *L){
    	Node *p,*q;
    	p = L->next;//指向首节点 
    	while(p){
    		q = p->next;//q承接下一个节点
    		delete p;//删除 上一个 节点
    		p = q; 
    	}
    	L->next = NULL;//成为了空表
    	return "Clear"; 
    }
    

    问题

    delete p;p = p->next;不可以代替循环体吗?

    注意delete(p) 释放了数据域和指针域,所以无法记录下一节点了。

    应用

    1. 小网站的用户信息。除了注册外,基本是读取。所以顺序存储好一些。
    2. 像一些插入/删除操作多的,比如游戏装备,那么肯定是单链表好些
    3. 需要更高的需求和性能的平衡,还是需要其他复杂的数据结构
  • 相关阅读:
    虚拟机安装
    虚拟机简介
    stm32(新建工程)
    高校教室管理系统
    按键抬起有效
    数码管0~9显示
    流水灯程序设计
    P0.0口驱动一个LED闪烁
    Adobe 系列下载链接
    Microsoft 常用下载链接
  • 原文地址:https://www.cnblogs.com/AsuraDong/p/6951543.html
Copyright © 2011-2022 走看看