Romi-知行合一

轻轻的风轻轻的梦,轻轻的晨晨昏昏, 淡淡的云淡淡的泪,淡淡的年年岁岁。
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

随笔分类 -  数据结构&算法

摘要:判断字符串中‘(’与‘)’是否匹配,匹配返回1,不匹配返回0 1 #include <iostream> 2 #include <string.h> 3 4 using namespace std; 5 6 bool Check(char *str) 7 { 8 int len=strlen(str); 9 int tag=0;10 for (int i=0;i<len;i++)11 {12 //判断'('13 if (tag==0)14 {15 if (str[i]=='(')16 ... 阅读全文

posted @ 2012-09-22 20:33 romi 阅读(455) 评论(0) 推荐(0)

摘要:题目:例如“abcdefgh”这个字符串,移位数是3时,字符串变为“defghabc” 1 #include <iostream> 2 #include <string.h> 3 4 using namespace std; 5 6 void StringToRotate(char *str,int n) 7 { 8 int len=strlen(str); 9 if (len<=n)10 {11 return;12 }13 char *str1=new char[len];14 for (int i=0;i<len;i++)... 阅读全文

posted @ 2012-09-22 20:20 romi 阅读(645) 评论(0) 推荐(1)

摘要:1 #include<string> 2 #include<iostream> 3 using namespace std; 4 5 int main() 6 { 7 string str="1hj1jk11jnk111jk1"; 8 int num=0; 9 //cin>>str;10 for(unsigned int i=0;i<str.size();i++)11 {12 if(str.at(i)=='1')13 num++;14 }15 cout<<num<<endl;16 ret... 阅读全文

posted @ 2012-09-17 16:21 romi 阅读(410) 评论(0) 推荐(0)

摘要:为了方便解释,将链表长度设为了5。 1 #include<stdio.h> 2 #include<stdlib.h> 3 4 //链表定义 5 typedef struct node{ 6 int data; 7 struct node *next; 8 }link; 9 10 //构造链表11 link * create_link(link *head)12 {13 int data[5];14 int i=0;15 while(i<5)16 {17 scanf("%d",&data[i]);18 i++;19... 阅读全文

posted @ 2012-09-16 17:52 romi 阅读(4196) 评论(0) 推荐(0)

摘要:构造和使用二叉树后,将二叉树的释放,需要将存储二叉树节点的内存空间释放掉,最后将二叉树置NULL。根据前面一篇文章中二叉树的遍历可以得到启示,遍历是将节点数据元素找出来,同样利用便利的思想,也可以将节点指向的内存空间释放掉。这里需要注意的问题时,释放的先后问题,根节点必须在左子树和右子树的后面释放,因此,利用后续遍历的方法可以释放掉二叉树中多有节点的存储空间。如下代码: 1 /释放二叉树的内存空间,将二叉树置空 2 void BTreeSetNull(BTree *tree) 3 { 4 if(tree==NULL) 5 { 6 return; 7 } ... 阅读全文

posted @ 2012-08-30 22:11 romi 阅读(9838) 评论(0) 推荐(2)

摘要:前面一篇文章单独说了二叉树的构建,二叉树构建好后,接下来就有二叉树的遍历问题,即读出二叉树中所有的节点数据。三种遍历方法:前序遍历,中序遍历,后序遍历。前序遍历:先访问根节点,然后前序遍历左子树,最后前序遍历右子树中序遍历:先中序遍历左子树,然后访问根节点,最后中序遍历右子树后续遍历:先后序遍历左子树,然后后序遍历右子树,最后访问根节点由上面的遍历步骤可以看出三者的差别就是根节点访问顺序的不同。如果将递归方式构建二叉树的过程理清楚了,那么二叉树的遍历问题就比较容易理解。这里使用最容易理解的递归方法遍历二叉树,代码如下: 1 #include<stdio.h> 2 #include& 阅读全文

posted @ 2012-08-30 21:49 romi 阅读(1299) 评论(0) 推荐(1)

摘要:树是一种非线性的数据结构,树有根节点,子树等概念。二叉树(Binary Tree):每个节点最多有两颗子树,并且子树有左右之分。概念:树的深度,满二叉树,完全二叉树,树的节点树二叉树包括顺序存储和链式存储,这里只说链式存储。二叉树的每个节点和双链表有些类似,但是树的结构要比双链表复杂,在构造树的过程中涉及到递归调用的问题,递归的问题往往是很复杂的问题,因此,这里单独说二叉树的构建。国际惯例,先上代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 //定义二叉树 6 typ 阅读全文

posted @ 2012-08-30 11:51 romi 阅读(16553) 评论(0) 推荐(3)

摘要:队列:先进先出的线性表,它只允许在一端(队尾)进行插入操作,在另一端(队首)进行删除操作。与栈的插入和删除都在栈顶进行不同。这里只说队列的链式存储。国际惯例,先上源码 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 //定义队列 6 typedef struct node{ 7 int data; 8 struct node *next; 9 }Queue; 10 //定义对手指针和队尾指针 11 typedef struct pointer{ 12 Queue *f... 阅读全文

posted @ 2012-08-28 22:23 romi 阅读(5589) 评论(0) 推荐(2)

摘要:栈:一种只允许在一端进行插入和删除的线性表。向栈中插入元素叫进栈,从栈中删除数据元素叫出栈。栈有顺序存储和链式存储,顺序存储需要事先分配栈的内存空间,这里只讲链式存储。国际惯例,先上源代码,再说各个模块。 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 //栈的定义 6 typedef struct node{ 7 int data; 8 struct node *next; 9 }Stack;10 11 //栈的初始化12 void StackInit(Stack *top 阅读全文

posted @ 2012-08-28 15:47 romi 阅读(831) 评论(0) 推荐(0)

摘要:双链表即双向链表,链表中每个节点有两个指针,分别指向节点的直接前驱和直接后躯。特点:从双链表的任一节点开始,都可以非常方便的访问他的前驱节点和后继节点。这也是单链表的缺点,单链表可以方便的访问某一节点的后继节点,但没法访问他的前驱节点。双链表的定义及其操作于单链表类似,要注意的就是每个节点的两个指针域。直接上代码 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 //定义双链表 6 typedef struct dnode{ 7 char data; 8 struct dnod 阅读全文

posted @ 2012-08-28 12:42 romi 阅读(2453) 评论(0) 推荐(0)

摘要:顺序表的缺点:插入和删除需要进行元素的移动链表:使用节点存储数据元素,节点的地址可以连续也可以不连续链表分为单链表/双链表/循环链表,这次只说单链表。单链表中一个节点的组成:数据域+指针域,指针于中存放的是是一个指针,指向下一个节点的地址。内容包括:单链表的定义/初始化/查找节点/插入节点/删除节点先上代码: 1 #include<stdio.h> 2 #include<stdlib.h> 3 #include<malloc.h> 4 5 //定义单链表 6 struct node{ 7 char data; 8 struct node *next; 9 } 阅读全文

posted @ 2012-08-27 14:30 romi 阅读(1100) 评论(0) 推荐(0)

摘要:nokia手机游戏“智力王”中的蜘蛛找出口,建立该游戏模型并编程实现 阅读全文

posted @ 2012-06-02 14:34 romi 阅读(1186) 评论(0) 推荐(0)

摘要:对于百度之星资格赛的最后一题(百度新大厦),线性规划和传统方法的比较 阅读全文

posted @ 2012-05-30 22:39 romi 阅读(803) 评论(2) 推荐(0)

摘要:讨论了顺序表的构造、初始化,元素的插入,元素删除,顺序表中元素比较及两个顺序表的运算等顺序表的操作及其代码实现 阅读全文

posted @ 2012-01-07 15:59 romi 阅读(29676) 评论(1) 推荐(10)