自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(23)
  • 资源 (2)
  • 收藏
  • 关注

原创 八皇后问题的实现

八皇后问题的实现递归方法实现八皇后问题的代码:int notDanger(int row ,int j,int(*chess)[8]){ int flag1 = 0,flag2 = 0,flag3 = 0,flag4 = 0,flag5 = 0; int i,k; //判断每列 for( i = 0; i < 8;i++) { if(*(*(chess+i)+ j)

2015-08-30 09:10:41 460

原创 循环队列

循环队列前面队列小述中我们讲到了队列的链式存储结构,下面我们介绍下队列的顺序存储结构。假设一个队列有n个元素,则顺序存储的队列需要建立一个大于n的存储单元,并把队列的所有元素存储在数组的前n个单元,数组下标为0的一端则是队头。队列的顺序存储结构中,入队列就是在队尾追加一个元素,不需要任何移动,时间复杂度为O(1)。出队列则不同,我们已经假设下标为0的位置是队列的队头,因此,

2015-08-29 11:16:19 570

原创 队列小述

队列小述

2015-08-29 09:33:59 412

原创 单链表的逆置

单链表的逆置下面是对带有头结点的空链表进行逆置的代码:#include#include#include# include # include #includetypedef int ElemType;typedef struct Node{ ElemType data;//数据域 struct Node *next;//指针域}Node;typedef str

2015-08-28 09:16:29 493

原创 基于逆波兰表达式的计算器

基于逆波兰表达式的计算器首先我们需要了解下一般表达式如何转化为逆波兰表达式。如下:1+(20-3)*4+10/5 如何转化为逆波兰表达式 1 20 3 - 4 * + 10 5 / +一般表达式转化为逆波兰表达式的步骤如下:从左到右遍历一般表达式的每个数字和符号,若是数字则直接输出,若是符号,则判断其与栈顶符号的优先级,是右括号或者优先级低于栈顶符号,则栈顶元素依次

2015-08-27 12:54:40 592

原创 栈的链式存储结构

栈的链式存储结构栈主要是顺序存储结构,但是栈也有链式存储结构,栈的链式存储结构我们只需要了解下即可。栈的链式存储结构中,栈顶指针和单链表的头指针合二为一。栈的链式存储结构中,栈顶是单链表的表头,栈底是表尾。栈的链式存储结构如下:typedef struct StackNode{ ElemType data; struct StackNode *next

2015-08-26 10:22:09 602

原创 基于栈二进制转化为八进制

基于栈二进制数转化为八进制数的代码如下#include#include# include # include #define STACK_INIT_SIZE 20#define STACKINCREMENT 10typedef char ElemType;typedef struct{ ElemType *base;//栈底指针 ElemType

2015-08-25 17:16:07 1553 1

原创 基于栈的一些操作

基于栈的一些操作下面给出清空一个栈、销毁一个栈和计算栈的当前容量的操作。清空一个栈,就是将栈中的元素全部作废,但栈本身物理空间并不发生改变。清空一个栈的代码如下:typedef struct{ ElemType *base;//栈底指针 ElemType *top;//栈顶指针 int stacksize;//栈当前可使用的最大容量

2015-08-25 09:25:54 473

原创 栈的小述

栈的小述栈是一种重要的线性结构,栈其实就是线性表的一种具体形式。栈是一种后进先出的数据结构。栈的特性如下:1)栈是一个后进先出的线性表,它要求只在表尾进行删除和插入的操作。2)栈顶是这种特殊形式线性表的表尾,栈底是线性表的表头。3)栈的插入操作(push)称之为进栈、压栈或者入栈。栈的删除操作(pob)称之为出栈或者弹栈。4)入栈操作要在栈顶进行。每次向栈中压入一个

2015-08-24 22:25:44 443

原创 双向链表(十)

双向链表双向链表的结点结构typedef struct LinkList{ int data; struct LinkList* prior;//前驱结点 struct LinkList* next;//后继结点}node,*DualLinkList;双向链表对于单链表来说,要复杂一点,每个结点都多了一个指向前驱结点的指针。另外,双向链表可以有效的提高算法的时间性能。

2015-08-24 21:06:42 318

原创 循环链表的特性以及判断单链表是否有环(九)

基于尾指针的循环链表

2015-08-23 22:29:04 1278

原创 基于循环链表的约瑟夫问题(八)

基于循环链表的约瑟夫问题约瑟夫问题具体细节可以百度百科下。下面给出基于循环链表的约瑟夫问题的代码typedef struct CLinkList{ int data; struct CLinkList* next;}node;node *create(int n){ node *head = (node*)malloc(sizeof(node)) ;

2015-08-21 21:29:28 425

原创 循环链表(七)

循环链表之前讲的单链表只能索引后继结点,不能索引前驱结点,这样的话若不从头结点出发的话,就无法访问到全部结点。如何解决单链表出现这种缺点呢,我们将单链表中终端结点的指针由空指针改为指向头结点,这样就使整个单链表形成一个环,这种头尾相接的单链表为单循环链表,简称为循环链表。

2015-08-21 16:46:37 444

原创 快速找到未知长度单链表的中间结点

快速找到未知长度单链表的中间结点采取的方法为快满指针的方法,具体思想就是,定义两个指针A,B分别指向头结点,让它们从头结点开始跑,A指针依次指向下面的结点,而B指针是隔着一个结点指向下一个结点,那么当B指针指向末尾结点的时候,A指针刚好指向中间结点了。code如下:typedef float ElemType;typedef struct Node{ El

2015-08-19 22:07:46 1560

原创 静态链表的插入和删除(六)

静态链表的插入和删除静态链表相当于是用一个数组来实现线性表的链式存储结构,在静态链表中操作的是数组。一、静态链表的插入操作静态链表的插入操作包含两部分,首先是获得空闲量的下标,程序代码如下;int getCur(StaticLinkList tan){ int i = tan[0].cur; if(tan[0].cur)tan[0].cur = t

2015-08-19 21:35:59 5150

原创 静态链表(五)

静态链表单链表是一种动态链表。用数组描述的链表是静态链表。静态链表的存储结构如下:#define MAXSIZE 1000typedef int ElemType;typedef struct{ ElemType data;//数据 int cur;//游标}Component,StaticLinkList[MAXSIZE];下面的为一静态链表的实

2015-08-19 09:54:28 601

原创 单链表的整表创建和删除(四)

单链表的整表创建和删除

2015-08-18 21:11:07 2643

原创 二叉树的几种遍历

二叉树的几种遍历前序遍历:先访问根节点——左子树——右子树。如下二叉树:

2015-08-17 21:48:27 668

原创 线性表的链式存储结构(三)

线性表的链式存储结构线性表的链式存储结构特点是用一组任意的存储单元存储线性表的数据元素。它除了要存储数据元素信息外,还要存储它的后继元素的存储地址。线性表的链式存储结构中,存储数据元素信息的域称为数据域,把存储直接后继位置的域称为指针域。指针域中存储的信息称为指针或链。这两部分信息组成数据元素称为结点(n个结点联接成一个链表,即为线性表的链式存储结构)。此链表每个结点只包含

2015-08-12 21:16:38 752

原创 线性表的顺序存储结构(二)

线性表的顺序存储结构对于顺序存储结构的线性表我们这里直接称之为线性表,后面一系列关于数据结构的文章中都这样声明。(我们为了后面的方便,才这样声明的)线性表中的元素类型都是一样的,假设线性表中的每个元素占用c个字节的存储单元。那么线性表中第i + 1个数据元素和第i个数据元素的存储地址的关系是addr(a(i + 1)) = addr(ai )  + c,其中addr表示求得

2015-08-12 08:39:58 502

原创 线性表初探(一)

数据结构之线性表线性表(List)-由0个或多个数据元素组成的有限序列。首先,它是一个序列,也就是元素之间是有个先来后到的。若元素为多个,则第一个元素无前驱,最后一个无后继,其它元素有且只有一个前驱和后继。线性表的元素的个数n定义为线性表的长度,当n = 0时,线性表为空表。线性表有两种物理存储结构:顺序存储结构和链式存储结构。此外,对于

2015-08-11 09:50:16 413

转载 重载一些常见的运算符

一些常见的运算符重载++自增运算符在C或C++中既可以放在操作数之前,也可以放在操作数之后,但是前置和后置的作用又是完全不同的那么要怎么重载它们,才可以有效的区分开来呢?今天我首先来说说C++中是怎么处理前置运算符和后置运算符的重载的。在C++里编译器是根据运算符重载函数参数表里是否插入关键字int来区分前置还是后置运算。class Point//三维坐标{

2015-08-09 11:53:38 552

转载 c++中的重载

c++中的重载

2015-08-08 19:25:08 454

基于mfc的视频播放器的制作

基于vs2010的用mfc制作的视频播放器 可以快进 快退 快放 慢放 播放暂停 还有进度条等等功能

2014-08-26

人脸检测程序

真不错 值得你拥有 是关于人脸检测的代码 入门级的 很简单哈 不要嫌弃哈

2013-11-17

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除