数据结构及应用
文章平均质量分 79
wanxuefei92
让自己沉下来
展开
-
C语言程序简单实现贪吃蛇小游戏—不需要graphics.h头文件
最近学习了一些数据结构的知识,然后试着用链表实现一个小游戏(贪吃蛇),在网上看了一些别人写的代码,然后自己重新改写(以前是一个主函数,现在分成了几个小函数方便查看功能,加了内存释放函数)了。在这里发表自己的 第一篇技术博客,希望大家一起讨论、学习,如果有错误,大家积极指出,这样才会有进步!snake.h 头文件#ifndef _SNAKE_H_H_H#define _SNAKE_H_H原创 2014-02-22 09:47:42 · 23035 阅读 · 2 评论 -
(C++版)链表(四)——实现双向循环链表创建、插入、删除等简单操作
链表(四)实现原创 2014-05-12 19:47:45 · 5692 阅读 · 1 评论 -
(C++版)链表(三)——实现双向链表的创建、插入、删除等简单操作
链表(三)原创 2014-05-12 19:43:32 · 14258 阅读 · 3 评论 -
(C++版)链表(二)——实现单项循环链表创建、插入、删除等操作
#include #include using namespace std;//结点类class Node {public: int data; Node *pNext;};//单向循环链表类class CircularLinkList {public: CircularLinkList() { head = new Node; head->data = 0;原创 2014-05-11 21:22:38 · 9598 阅读 · 5 评论 -
(C++版)链表(一)——实现单向链表创建、插入、删除等相关操作
前段时间用C原创 2014-05-11 18:54:10 · 32231 阅读 · 2 评论 -
(C语言版)链表(二)——实现单向循环链表创建、插入、删除、释放内存等简单操作
昨天写了单向链表的代码,今天上午把单向循环链表的程序给敲完了。链表的相关操作一样的,包含链表的创建、判断链表是否为空、计算链表长度、向链表中插入节点、从链表中删除节点、删除整个链表释放内存。如果单向链表理解了,那单向循环链表也就不难了。单向循环链表如下图所示:看图可以知道,单向循环链表和单向链表差不多,只不过是最后的尾节点指向的不是空,而是指向头节点。理解这一点很重要,因为这是我们原创 2014-02-23 11:56:12 · 20199 阅读 · 1 评论 -
(C语言版)栈和队列(二)——实现顺序存储栈和顺序存储队列的相关操作
栈和队列都有两种实现方式,一种在之前已经写过了,是链式存储形式,另一种是顺序存储形式。也就是这里所写的用数组的形式实现,和链式存储形式相比,有几个不同的地方。顺序存储的方式,必须确定栈和队列的大小,也就是要确定数组的大小。而链式储存是动态分配的,根据需要来增减。顺序存储的方式有溢出的现象,由于是数组存储,所以超出数组下标的时候就溢出了。原创 2014-03-18 21:26:57 · 3190 阅读 · 1 评论 -
(C语言版)链表(四)——实现双向循环链表创建、插入、删除、释放内存等简单操作
双向循环链表是基于双向链表的基础上实现的,和双向链表的操作差不多,唯一的区别就是它是个循环的链表,通过每个节点的两个指针把它们扣在一起组成一个环状。所以呢,每个节点都有前驱节点和后继节点(包括头节点和尾节点)这是和双向链表不同的地方。我们看下双向循环链表的示意图(我在网上找了张图片,自己画的实在难看,有时间真的要去学下怎么画图了,然后可以写出更好的博客):在程序的编写方面呢,双向循环链表有原创 2014-02-24 08:43:00 · 15342 阅读 · 11 评论 -
(C语言版)链表(一)——实现单向链表创建、插入、删除等简单操作(包含个人理解说明及注释,新手跟着写代码)
我学习了几天数据结构,今天下午自己写了一个单向链表的程序。我也是新手,所以刚开始学习数据结构的菜鸟们(有大牛们能屈尊uY3Nkbi5uZXQvZmlzaGVyd2Fu/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity看一看,也是我的荣幸)可以和我一起共同学习、讨论,当然也很高兴能指出我的错误,因为这是我们一起成长的过程原创 2014-02-22 21:24:04 · 42698 阅读 · 6 评论 -
(C语言版)二叉树遍历算法——包含递归前、中、后序和层次,非递归前、中、后序和层次遍历共八种
首先,要感谢网上的参考资料。http://mengliao.blog.51cto.com/876134/1178079(作者:BlackAlpha)http://blog.csdn.net/fzh1900/article/details/14056735(作者:_云淡风轻)http://blog.csdn.net/stpeace/article/details/8138458(作者原创 2014-03-18 14:08:38 · 4407 阅读 · 0 评论 -
(C语言版)栈和队列(一)——实现链式栈和链式队列的基本操作以及遇到的问题
首先要感谢这位大牛的一篇博客,地址如下:http://blog.csdn.net/hguisu/article/details/7674195当然还有网上一些其他的资料,今天自己写了一下链式栈和链式队列的程序。其中在释放内存的时候遇到了些许问题,通过调,找出了原因,在这里我与大家分享一下。(1)链式栈的相关代码块Stack.h 头文件——定义了节点结构和链式栈结构,以及基本操作函数的声原创 2014-02-27 16:49:46 · 4819 阅读 · 0 评论 -
(C语言版)链表(三)——实现双向链表创建、删除、插入、释放内存等简单操作
上午写了下单向循环链表的程序,今天下午我把双向链表的程序写完了。其实双向链表和单向链表也是有很多相似的地方的,听名字可以猜到,每个节点都包含两个指针,一个指针指向上一个节点,一个指针指向下一个节点。这里有两个特殊的地方,第一就是头节点的一个指针指向NULL空指针(没有前驱节点),第二就是尾节点的一个指针指向NULL指针(没有后继节点)。我们可以看下双向链表的示意图(自己画的比较难看):原创 2014-02-23 17:02:42 · 36475 阅读 · 8 评论 -
C语言实现最优二叉树——霍夫曼(Huffman)树算法
赫夫曼(Huffman)树又称最优二叉树或最优搜索树,是一种带权路径长度最短的二叉树。在许多应用中,常常赋给树中结点一个有某种意义的实数,称此实数为该结点的权。从树根结点到该结点之间的路径长度与该结点上权的乘积称为结点的带权路径长度(WPL),树中所有叶子结点的带权路径长度之和称为该树的带权路径长度,通常记为:原创 2014-04-07 19:27:39 · 11561 阅读 · 1 评论 -
链表(单向、双向、单向循环、双向循环)学习过程总结——有源代码、注释和示意图
前段时间学习原创 2014-05-14 16:50:51 · 24446 阅读 · 14 评论