- 博客(12)
- 资源 (4)
- 收藏
- 关注
原创 一步一步复习数据结构和算法基础-栈的应用(2)
先前写了括号匹配,这里再给出两个栈的应用-回文数和进制转换;首先是回文数,回文数理解起来很简单的,但是--我写的太麻烦了。。。。。。看来还是需要加强自己的代码质量,这里权当复习。。。回文数在我的理解中就是中心对称的字符串(assa)。所以如果想用栈来解决回文数的判断我的理解是一半字符串入栈,然后依次和后面一半的字符串进行逐字符的比较。但是要注意对于字符串长度为奇数的字符串,要把中间
2012-06-29 19:20:29 617
原创 一步一步复习数据结构和算法基础-栈的简单应用(1)
栈的特点之一是FILO(先进后出),基于这个特点在这里给出栈的部分基础应用:1:括号匹配; 所谓的括号匹配就是一个表达式中包括变量、常量、操作符、圆括号,圆括号可以嵌套, 编写程序判断表达式中的括号是否正确匹配。输入任意一个表达式,判断其中括号是否匹配。 利用栈的特性可以很简单的解决这个问题,对于一个表达式从第一个字符开始处理,如果遇到左括号就入站,如果遇到右括号就与栈顶元素匹配,
2012-06-29 18:52:40 628
原创 一步一步复习数据结构和算法基础-栈和队列(2)
前面简单介绍一下栈和队列的概念,慢慢来.还是先写写栈吧.由于前面学习了链表和线性表,所以栈的操作比较容易,先来指针栈吧.指针栈是以数组为基础的数据结构.入栈出栈都基于数组操作.先看看栈的声明: 指针栈的声明:#include #include #define STACK_INIT_SIZE 100 //栈空间的初始分配量#define STACKINCREMENT 10
2012-06-26 20:41:53 590
原创 一步一步复习数据结构和算法基础-栈和队列(1)
栈和队列也是重要的数据结构.从数据结构角度来说,栈和队列也是线性表.但是栈和队列的基本操作是线性表的操作子集.可以称之为限定性的数据结构.但是在数据类型上它们和线性表大不相同. 我想还是先学学栈和队列的基本操作吧. 栈: 栈的结构: 栈顶 栈底 对于n个元素,第一个入栈的称之为栈底,最后一个入栈的称之为栈顶. 栈的进出原则是后进先出或者是
2012-06-25 19:40:34 519
原创 一步一步复习数据结构和算法基础-循环链表
循环链表是另一种形式的链式存储结构,特点就是链表的为节点指向头结点,从而形成一个环,所以从链表的任意一个节点出发都可以访问整个链表而不像单链表那样必须从头结点开始. 循环链表的操作和单链表类似.差别就是算法之中的结束条件不是 head->next == NULL;而是 head == head->next.当然了循环链表的表示形式有两种:带有头指针和带有为指针如下图所示:
2012-06-25 19:17:39 555
转载 链表各类操作详解
看了这个才发现自己和别人的差距......但是自己慢慢努力吧链表概述 链表是一种常见的重要的数据结构。它是动态地进行存储分配的一种结构。它可以根据需要开辟内存单元。链表有一个“头指针”变量,以head表示,它存放一个地址。该地址指向一个元素。链表中每一个元素称为“结点”,每个结点都应包括两个部分:一为用户需要用的实际数据,二为下一个结点的地址。因此,head指向第一个元素:第一个元素又
2012-06-23 22:26:03 548
原创 一步一步复习数据结构和算法基础-单链表冒泡排序
其实个人以为用单链表排序就是自己找麻烦,用数组排序多好啊,但是转念一想,还是挑战一下自己吧,这个程序的声明和前几次的不同,但是仅仅是换汤不换药.谨以此作为链表的练习吧.#include#includetypedef int elem;typedef struct node{ elem data; struct node *link;}lnode,*node;void
2012-06-23 22:17:45 753
原创 一步一步复习数据结构和算法基础-线性表
线性表是基于数组操作的数据结构,相比于链表线性表的优势是随机访问,但是劣势也是非常的明显,在线性表中执行一次插入删除操作是难以想象的麻烦,自己仅仅将线性表的创建贴出来.后面复习排序的时候会用到线性表的(插入排序)#include #include #define ListInitSize 100#define OK 1#define ERROR 0typedef struct
2012-06-23 22:12:47 569
原创 一步一步复习数据结构和算法基础-链表(3)
先前复习了链表的基本操作之后,就想对链表的应用进行扩展, 先前链表的基本操作时这些扩展的基础,自己复习一下先基本函数:#include #include #include #define true 1#define false 0typedef struct node{ int data; struct node *next;}list,*linklist;li
2012-06-23 12:06:47 525
原创 一步一步复习数据结构和算法基础-链表(2)
前面有了链表的逆序打印程序,自己以为链表的顺序打印会容易很多,但是却遇到很多麻烦的事情.经常运行出错.检查了一下是自己在链表初始化阶段出现了错误. 首先是程序头文件和声明#include #include #include #define true 1#define false 0typedef struct node{ int data; struct node
2012-06-22 22:31:46 993
原创 一步一步复习数据结构和算法基础-链表(1)
数据结构这门课程中,我首先接触的就是链表.链表是一种相对简单的数据结构,但是我在编写程序的时候经常运行出错.为什么?自己对链表的掌握不足.自己温习了一下课本,写了最基础的链表逆序打印.#include #include #include typedef char elemtype;typedef struct list{ elemtype ch; struct lis
2012-06-12 22:14:27 596
原创 一步一步复习数据结构和算法基础(1)
经过半年的学习自己的>这么课程算是结束了,但是感觉自己收获甚少,所以利用暑假的时间自己希望重温数据结构和算法.作为一名菜鸟,自己默默的努力吧.#include #define N 1002int a[N];int dp(int a[],int len){ int i,k; int b[N]; int tmp; b[0]=1; for(i=
2012-06-07 11:28:05 1042 3
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人