zoukankan      html  css  js  c++  java
  • 链表简介

    链表中头结点存在的意义:

      便于对链表进行操作

        离散存储【链表】(我们搞底层的开发,类似于SUN公司的类)

        定义:

        n个节点离散分配

        彼此通过指针相连

        每个节点只有一个前驱节点,每个节点只有一个后续节点

        首节点没有前驱节点,尾节点没有后续节点。

        

        专业术语:

        首节点:

        第一个有效节点

        尾节点:

        最后一个有效节点

        头节点:

        头结点的数据类型和首节点的类型一样

        没有存放有效数据,最最前面的,是在

        首节点之前的,主要是为了方便对链表

        的操作。

        头指针:(指向头)

        指向头节点的指针变量

        尾指针:

        指向尾节点的指针

        

    (头结点有可能很大,占的内存可能大,假设我想造一个函数

    输出所有链表的值,那你如果不用头指针类型做形参,那由于

    不同链表的头节点不一样大小,这样就没办法找出形参)

     

     

        确定一个链表需要几个参数:(或者说如果期望一个函数对链表进行操作

        我们至少需要接收链表的那些信息???)

        只需要一个参数:头指针,因为通过它我们可以推出

        链表的所有信息。

    (链表的程序最好一定要自己敲出来)

        分类:

        单链表

        双链表:

        每一个节点有两个指针域

        

        循环链表

        能通过任何一个节点找到其他所有的节点

        非循环链表

      

    (java中变成垃圾内存则会自动释放,但是C和C++则不会,所以要

    手动释放,否则会引起内存泄露。delete等于free)    

        算法:

        遍历

        查找

        清空

        销毁

        求长度

        排序

        删除节点

        插入节点

    算法:狭义的算法是与数据的存储方式密切相关

          广义的算法是与数据的存储方式无关

          泛型:(给你一种假象,只不过牛人从内部都弄好了)

             利用某种技术达到的效果就是:不同的存储方式,执行的操作是一样的

     

    算法的真正学法:很多算法你根本解决不了!!!!!!因为很多都属于

    数学上的东西,所以我们把答案找出来,如果能看懂就

    行,但是大部分人又看不懂,分三步,按照流程,语句,

    试数。这个过程肯定会不断地出错,所以不断出错,不断

    改错,这样反复敲很多次,才能有个提高。实在看不懂

    就先背会。

  • 相关阅读:
    事件使用(转 )
    使用Dotfuscator 进行.Net代码混淆 代码加密的方法
    Git分布式版本控制系统学习笔记
    免费SVN服务器笔记
    如何设置mysql远程访问及防火墙设置
    c# GridControl怎么换行
    模拟Post登陆带验证码的网站
    c#控制打印机杂项
    ssh 自动登录
    mysql 使用记号
  • 原文地址:https://www.cnblogs.com/jiefangzhe/p/10778263.html
Copyright © 2011-2022 走看看