啊哈算法系列第二章 栈, 队列, 链表

队列

特殊的线性结构,只允许对队列的head进行删除,对队列的tail进行插入,分别叫做"出队","入队". (排队买票的例子)
FIFO 先进先出原则

// 队列的简单数据结构
struct queue {
  int data[n];
  int head;
  int tail; //表示队尾的下一个数的索引
  // head = tail 队列为空
}

队列

只限于在一端的插入和删除操作,称为对栈顶的"入栈"和"出栈";

// 栈的简单数据结构
struct stack {
  int data[n];
  int top;
}

链表

动态存储数据,利用指针变量指向下一个相同类型数据.

指针: 用于存储特定类型所占内存区域的地址(首地址)
& : 取地址符
* : 间接运算符,获取指针所指向的内存中的值

// 链表的简单数据结构
struct node {
  int data;
  struct node *nextNode; 
  //对于指针变量的访问成员使用-> : eg.nextNode->data
}
列表

你可能感兴趣的:(啊哈算法系列第二章 栈, 队列, 链表)