• 数据结构知识点补充


     (67条消息) c语言怎么return ok,C语言中的 return与exit_哈哈哈可以的博客-CSDN博客

     假如把i++或++i放入到for循环的函数体中,若没有变量或函数来接收其返回值,那么它们的作用效果也是相同的
    (67条消息) C语言的for循环中i++和++i的关系_肥嘟嘟的左卫门的博客-CSDN博客_c语言for循环i++和++i

    关于ralloc函数的用法

    (67条消息) 【C语言】realloc函数_SouLinya的博客-CSDN博客_realloc

    在C语言中,0表示假,非0(不只包括1,还包括2,3,5等只要是非零数字即可)表示真

    关于i++和++i

    CPU眼里的:i++ 和 ++i_哔哩哔哩_bilibili

    i++(后加)的返回值是右值型的,右值的临时变量只能给别人赋值,而且程序员还看不见

    所以后加需要分两步走,那为什么前加能一步到位呢,因为前加是左值的,左值意味着可以被直接赋值

     一般通常来讲,二者是没有任何区别的,但是构建类对象的时候,后加的劣势就会被无限放大

    所以常见类的时候,首选前加运算,大大增快了运算速度

    关于return ERROR和return OK 作用的问题-CSDN社区

    堆和栈的区别是什么?_哔哩哔哩_bilibili

    不同函数之间的栈数据不能共享

    多线程中每启用一个函数其实就会调用一个函数,同样也会有各自的栈,线程之间的栈数据也是不能够共享的

    而堆是一个进程,只要在这个进程内,所有的线程都可以访问堆上的数据 

    那什么时候使用堆什么时候使用栈呢?

    当数据的size不确定的时候,肯定是用堆不用栈,而当确定的时候,由于效率的问题,一定会使用栈而不用堆,因为他会极大的提高你的运行速度

    此外,想使用非常庞大的内存的话,一般不用栈而用堆,用完之后立即释放掉

    关于status

    (72条消息) 数据结构Status_proveyourself的博客-CSDN博客_status在数据结构中什么意思

    注意

    int *p;

    *(p--)和  *(p-1)之间不同,指针自减改变的是指针的位置,而指针减一指针的位置不变,而是取指针减一所在位置赋值

    如何从键盘上依次输入一段文字,并以回车结束,读取并输出

     

     

     

     

     

     在新元素入队的时候,我们要检查rear指针(尾指针)的后一个元素是否与头指针相等,如果相等,则说明此时队已满。

    入队操作

     

     判断队满队空的条件

    计算队列元素的个数

    以上都是以牺牲一片存储空间为代价的

    法二判断:

     

    增加一个size来判断,插入成功则size++,删除成功则size--

    当size==Maxsize时,则说明队列已满

    如图

     

    虽然队头指针和队尾指针都指向了同一个位置,但是由于我们设置了新的变量size,我们可以通过size来判断队空还是队满

    法三:

     

    设置一个tag,当tag=1时,表示进行了以此删除操作,当变量的值为1时,表示进行了一次插入操作

    只有删除操作才有可能导致队列变空,只有插入操作才有可能导致队列变满,

    如图

     

    当在这个位置时,不管tag的时多少,我们都要插入一个元素,此时tag的值为1,

    此时,rear与front重合,所以此时就是队满条件

    同理

     

    当然,以上的这些方法,都是基于队尾指针指向队尾元素的下一位,这样的一个前提条件进行的

    那当队尾指针是指向队尾元素的情况时

    所以为了操作方便,在这种情况时,

     

     

     先让 rear = n - 1;此时

     

     

     

    由于静态数组的容量都是有限的

     模运算和取余运算,都是为了重复的利用静态数组中的存储空间

    需要注意的是,队尾指针是指向了队尾元素的后一个位置,还是就是指向了队尾元素

     

    链式存储实现的队列被称为链队列

     

     

    带头结点的队列,要判空,则需要根据头尾结点是否指向同一个位置来判断,当然也可以通过头结点的next指针是否指向NULL来判断队列是否为空 

     

     当不带头结点时

    rear和front都是指向NULL的,所以插入新元素之后需要改一下

     

     

    关于括号匹配的问题

     

     

     

  • 相关阅读:
    thsi指针用法总结
    虹科技术 | USB设备和端口安全管理 | 如何轻松扩展端点管理
    如何在Linux系统中使用Apache HTTP Server
    spring cloud实践
    Math对象常用的方法
    激光雷达发射的PCB布局
    Python异常处理——走BUG的路,让BUG无处可走
    MySQL事务
    如何精准地找工作
    iOS 内存泄漏问题总结
  • 原文地址:https://blog.csdn.net/m0_61840284/article/details/127844601