数据结构
ZoneLai
这个作者很懒,什么都没留下…
展开
-
(一)线性表
一、数据结构的学习方法1、工具型1》目的:将现实生活中的各种复杂的数据,按照某一种方式分类,按照这种分类将这些数据存储在计算机中,然后,用各种编程语言(C语言)实现这些数据的处理。2》学习内容:1)数据的逻辑结构(数据之间的关系)---》线性结构:线性表,栈,队列---》非线性结构:树和图2)数据的存储结构体---》顺序存储按照数据的逻辑关系,将每一个数据依次存储在一块连续...原创 2017-11-04 18:35:20 · 381 阅读 · 0 评论 -
(二) 单向链表
1.通常把线性表的链式存储结构体简称链表2.链表的结构3.初始化4.插入5.删除6.实现单项链表的数据逆转为实例// linklist.h#ifndef __LINKLIST_H__#define __LINKLIST_H__#include <stdio.h>#include <stdlib.h>#include <stdbool...原创 2018-08-03 17:30:12 · 381 阅读 · 0 评论 -
(三)单向循环链表
1.概念2.初始化3.插入、删除同单项链表一样4.遍历5.实例(用单向循环链表实现“数3出局”游戏(Josephu问题)。首先建立一个包含若干整数的单项循环链表,然后从第一个节点开始数,把数到3的那个节点删除,接着下一个节点开始数,数到3继续删除,以此类推,打印出最后剩余的那个节点)// linklist.h#ifndef _LINKLIST_H_#define _LIN...原创 2018-08-03 18:50:49 · 643 阅读 · 0 评论 -
(四)双向链表
1.概念由于在单向链表中,知道其中某个结点地址不能够找到其他所有的结点,所以将单向链表该为单向循环链表,这样知道其中一个结点的地址,可以找到其他每一个结点。但是,当链表中的数据特别多的时候,查找起来效率就非常低, 故,设想,如果在创建链表时,能够在结点中同时保存前后结点的地址,则可以提高效率,例如:2.节点类型typedef int datatype;typedef stru...原创 2018-08-06 09:22:09 · 199 阅读 · 0 评论