栈,队列,单链表,双向链表

1、 定义头文件

实现栈方法的定义,注意这里用到了全局的静态数组,可以通过这种方式保护数据。

main.c,实现存储

  1. 队列,创建头文件queue.h

创建queue.c

实现main函数

  1. 单链表

    在定义头文件的时候,最好使用:

    #ifndef 变量A

    #define变量A

    函数声明和结构声明等声明

    #endif

通过上面的这种方式可以避免重复调用头文件时候产生的负面影响。

定义头文件link.h:(注意加上extern)

定义link.c

编写main.c

4、双向链表

创建link.h头文件

编写link.c文件

实现main.c方法



栈,队列,单链表,双向链表

时间: 2024-10-17 15:20:20

栈,队列,单链表,双向链表的相关文章

算法导论第十章 栈队列和链表

本章讲述的是基本的数据结构,如栈.队列和链表.这些都是最最基本的数据结构,具体的就不再啰嗦.然后本章也没有什么需要特别注意的点,哦,有一个小节:指针和对象的实现,可以认真看一下,大概就是用其他的实现方式来代替指针和对象的实现,因为有些语言不支持指针和对象数据类型,那在实现这种链式的数据结构就无法表示,本节介绍的方法就是利用数组和数组下标来构造对象和指针,说白了,就是利用数组来表示链式对象.个人感觉意义不大,权当了解得了. 结合一些常见的笔试面试题,我就用3个习题来总结这一章吧. 1.习题10.1

「C语言」单链表/双向链表的建立/遍历/插入/删除

最近临近期末的C语言课程设计比平时练习作业一下难了不止一个档次,第一次接触到了C语言的框架开发,了解了View(界面层).Service(业务逻辑层).Persistence(持久化层)的分离和耦合,一种面向过程的MVC的感觉. 而这一切的基础就在于对链表的创建.删除.输出.写入文件.从文件读出...... 本篇文章在于巩固链表的基础知识(整理自<C语言程序设计教程--人民邮电出版社>第十章),只对链表的概念及增删改查作出探讨,欢迎指教. 一.链表结构和静态/动态链表 二.单链表的建立与遍历

python中栈的单链表实现

参考博客:https://www.cnblogs.com/stacklike/p/8284550.html 基于列表的简单实现 # 先进后出 # 以列表实现的简单栈 class SimpleStack: # 特殊属性,用以限制class可添加的属性 __slots__ = ('__items',) def __init__(self): self.__items = [] def is_empty(self): return self.__items == [] def peek(self):

Javascript - 栈 和 单链表

最近在重温数据结构,于是写了一些代码玩玩,都是很初级的,表喷各位.... function Stack() { this.dataStore = []; this.top = 0; } Stack.prototype = { length: function () { return this.top; }, push: function (element) { this.dataStore[this.top++] = element; return this.top; }, pop: funct

用栈实现单链表的逆转

#include<iostream> #include<stack> using namespace std; struct ListNode { ListNode *next; int data; ListNode(int x): { data=x; next=NULL: } }; ListNode* ReverseList(ListNode* pHead) { if(pHead==NULL||pHead->next == NULL) { return pHead; } L

栈、队列、单链表

栈: <span style="color:#000000;">#define MAX_SIZE 100//队列的最大长度 //-------------------------栈----------------------- int top=0;//栈顶变量 void add(char st[],char intput){ //入栈函数 st[top]=intput; top++; } void pop(char st[]){ //出栈函数 top--; st[top]=

C++实现单链表和子类栈(Stack)及单向队列(Queue)

刚刚开始学习c++.之前c的内容掌握的也不多,基本只是一本概论课的程度,以前使用c的struct写过的链表.用python写过简单的数据结构,就试着把两者用c++写出来,也是对c++的class,以及继承中的public/protected/private的性质进行初步了解.第一次写头文件.h和源文件.cpp分开的c++代码.过程中参考了ProLyn和kgvito的代码,基本就是百度"单链表 c++"的前几个搜索结果. 节点listNode还是用struct来写了,因为我想节点除了构造

数据结构 线性结构(数组[列表] ,链表 单链表的增删改查**, 线性结构的应用 队列 栈[函数的调用**]),非线性结构 树

数据结构 参考:http://lupython.gitee.io/ 线性结构 就是能够用一根线串起来的数据结构 数组 (列表) 问:申请数组的前提条件是啥? a[12]?内存需要满足的条件? 答:内存必须有一块连续的内存空间 int a[7] : 声明一个数组,这个数组的数组名是 a, 数组的大小是 7, 数组元素的类型是整型. int a[7] = array(1,2,3,4,5,6,7) 问:如何申请内存? 答:C,C++语言,申请:mallco (28).释放:free(28) 问:int

栈和队列----将单链表的每K个节点之间逆序

将单链表的每K个节点之间逆序 给定一个单链表的头节点head,实现一个调整链表的函数,使得每K 个节点之间逆序,如果最后剩下不够K 个节点,则不调整最后几个. 例如: 链表:1->2->3->4->5->6->7->8->null,k=3. 调整好后:3->2->1->6->5->4->7->8->null,其中7.8不调整,因为不够一组. [解析] 1. 首先从左到右遍历链表,如果栈的大小不等于k ,则不断的