数据结构
文章平均质量分 79
星武者
转行 android
展开
-
队列
队列队列是一种表。 使用队列时插入在一端进行而删除在另一端进行。操作1.Enqueue(入队),它是在对列的末端(叫做队尾(rear))插入一个元素2.Dequeue(出队),它是删除(或返回)在表的开头(叫做队头(front))的元素数组实现://queue.htypedef int ElementType;struct QueueRecord;typedef struct Queue原创 2017-04-01 22:00:52 · 332 阅读 · 0 评论 -
约瑟夫问题
约瑟夫问题是经典的循环链表。#include <stdio.h>#include <stdlib.h>struct node { int order; int k; struct node * next;};static struct node * head = NULL;void CreatList(void);void josephus(struct node原创 2017-04-18 18:28:28 · 1149 阅读 · 0 评论 -
线性表之——顺序表
线性表线性表是n个数据元素的有限序列。表中的元素是一个挨着一个放的。表中有一个开始的节点,有一个结束的节点,并且中间的每一个节点有且只有一个前驱和后继。1. 线性表的抽象数据类型线性表的抽象数据类型的定义如下: Data: 线性表中的每数据对象集合{a1,a2,...ana_1,a_2,...a_n},每个数据元素的类型均为DataType(自己定义的,可以是基本类型,也可以是复杂的类型原创 2017-12-20 16:43:14 · 399 阅读 · 0 评论 -
数据结构之——栈
栈栈的定义栈,英文名称Stack,是一种允许在一端插入、删除的线性表,其中把允许插入和删除的一端叫做栈顶(top),另一端称作栈底(bottom)。在这里首先要明白栈是一种线性表,可以将其理解为操作受限的线性表(但其实有时候需要这样的线性表),也具有前驱和后继的关系。栈中的元素就像弹夹装弹一样,最先打出来的第一发子弹,肯定是你最后装进弹夹的,这就是“后进先出”。而“装弹”的过程被称为入栈(push)原创 2018-01-08 20:52:45 · 784 阅读 · 0 评论 -
数据结构之链表
单链表1. 单链表的定义单链表是通过任一存储单元来存储线性表中的元素。这些存储单元可以是连续的也可以是不连续的。为了每个数据元素都能链接起来,每个数据元素中除了存储数据以及其它的信息外,还应该储存该元素直接后继(也就是该元素的下一个元素)的位置信息(也就是下一个元素的地址)。就像每个人手拉着手一样,每一个人的手都拉着下一个人的手。 数据元素和下一个数据元素的存储位置的信息组成一个“结...原创 2018-04-18 19:24:39 · 393 阅读 · 0 评论