数据结构
黄小鱼ZZZ
这个作者很懒,什么都没留下…
展开
-
线性表的构建和基本操作
线性表的动态分配顺序存储结构#define LIST_INIT_SIZE 10//线性表的存储空间的初始分配量 #define LISTINCREMENT 2//线性表存储空间的分配增量struct Sqlist{ ElemType *elem;//存储空间基址 int length;//当前长度 int listsize;//当前分配的存储容量 }转载 2015-03-19 22:01:56 · 2083 阅读 · 0 评论 -
数据结构之有序链表的归并
涉及到链表的建立、删除、输入、输出链表的归并#includeusing namespace std;#define ERROR 0#define OK 1typedef int ElemType;typedef int Status;typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;原创 2015-05-21 13:59:07 · 1678 阅读 · 0 评论 -
顺序栈的简单操作
根据老师的代码进行改编#include#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100typedef int Status;typedef int ElemType;typedef struct{ ElemType *base;原创 2015-05-22 18:36:43 · 555 阅读 · 0 评论 -
数据结构之链表的基本操作
链表的基本操作。#include#include#define OK 1#define ERROR 0#define OVERFLOW -2using namespace std;typedef int ElemType;typedef int Status;typedef struct LNode{ ElemType data; struct LNode *next;}L原创 2015-05-22 17:14:59 · 2917 阅读 · 0 评论 -
字符串匹配之BF算法
#include#include#include#define MAXSIZE 255#define ERROR 0#define OVERFLOW -1#define OK 1using namespace std;typedef int Status;typedef char SString[MAXSIZE+1];Status StrAsign(SString T,char原创 2015-06-23 23:29:41 · 1025 阅读 · 0 评论 -
字符串匹配之kmp算法
#include#include#include#define OK 1#define OVERFLOW -2#define ERROR 0#define MAXSIZE 255using namespace std;typedef char SString[MAXSIZE + 1];typedef int Status;Status StrAssign(SString T,c原创 2015-06-23 23:32:40 · 596 阅读 · 0 评论 -
二叉树操作
#include#include#includeusing namespace std;typedef struct BiNide{ char data; struct BiNide *lchild,*rchild;}BiTNode,*BiTree;void CreateBiTree(BiTree &T){//二叉树的存储 char ch;原创 2015-06-24 18:16:43 · 559 阅读 · 0 评论 -
数据结构之链表
涉及到链表的建立、链表的输入、链表的输出、以及链表的归并、链表的插入#include#define OK 1#define ERROR 0using namespace std;typedef struct LNode{ int data; struct LNode *next;}LNode,*List;void InitList(List &L){//新建一个链表 L=n原创 2015-05-19 22:10:01 · 557 阅读 · 0 评论 -
使用栈进行进制的转换
#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef struct SNode{ int data; struct SNode *next;}SNode,*LinkStack;Status InitStack(Link原创 2015-05-23 13:34:40 · 856 阅读 · 0 评论 -
改进版进制转换
#includeusing namespace std;#define OK 1#define ERROR -1#define OVERFLOW -2typedef int Status;typedef struct SNode{ int data; struct SNode *next;}SNode,*LinkStack;Status InitStack(Lin原创 2015-05-23 15:38:12 · 486 阅读 · 0 评论 -
队列的简单的操作
#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2#define MAXSIZE 100typedef int QElemType;typedef int Status;typedef struct{ QElemType *base; int front;//尾指针原创 2015-05-23 17:38:57 · 687 阅读 · 0 评论 -
杨辉三角
#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int QElemType;typedef struct QNode{ QElemType data; QNode *next;}QNode,*QueuePtr;原创 2015-05-23 22:41:15 · 501 阅读 · 0 评论 -
数据结构之顺序表
顺序表的思想容易了解,但是代码不容易掌握,我这里根据老师所提供的代码进行一下简单的总结这个代码包含顺序表的查找,插入,删除,建表,输出数据#includeusing namespace std;#define OK 1#define ERROR 0#define OVERFLOW -2typedef int Status;typedef int Elemtype;#defi原创 2015-05-14 14:12:30 · 670 阅读 · 1 评论 -
nyoj-1063 生活的烦恼
测试的是对二叉树的建立及处理代码#include#include#include#includeusing namespace std;const int max=100000;typedef struct BiNode{ string data; struct BiNode *lchild,*rchild;}BiTNode,*BiTree;string temp;i原创 2015-05-05 17:47:51 · 994 阅读 · 0 评论 -
二叉树 nyoj-63 小猴子下落
代码:详情解释请看:http://www.cnblogs.com/zhourongqing/archive/2011/10/09/2204071.html#include02.#include03.#include04.using namespace std;05.int main(){06.int D,I;07.while(原创 2015-03-20 17:07:44 · 677 阅读 · 0 评论 -
nyoj-108 士兵杀敌
当我首先看到这道题目的时候,我看难度为3,想想一般的算法肯定会超时,但是也想不到其他的方法,于是我就用最笨的存数组的算法试了一下,果然不出我所料。原谅我没有大神的耐心去一次一次的尝试,参考了大神的算法,果然用着舒服,妈的,看我这出息。。。。。#include#includeint num[1000100];int main(){ int n; int a,b,i,j,k,m,t;原创 2015-03-30 22:16:50 · 576 阅读 · 0 评论 -
nyoj-5 Binary String Matching
有时候总感觉好迷茫,我已经大二了,再有两年就要毕业了,我能在大学里边做些什么,就这么过去了,就像大多数人一样???!!!!!!#include#includeint main(){ int n; char str1[20],str2[1020]; int i,j,k,temp,t,num1,num2; scanf("%d",&k); while(k--){ scanf("%s原创 2015-03-31 15:18:35 · 608 阅读 · 0 评论 -
hdu-1242 Rescue
本题用到了了搜索和队列,第一次将这两个加起来写,有点吃力。。。。。。#include#include#include #includeusing namespace std;int map[220][220];int a_x,a_y,b_x,b_y,n,m;int top[4][2]={{0,-1},{0,1},{1,0},{-1,0}}; //上下搜索的四个点 struct原创 2015-03-27 15:48:58 · 684 阅读 · 0 评论 -
hdu-1874 畅通工程续 最短路径问题
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1874弗洛伊德最短路径问题代码:#include#include#define inf 0x3f3f3f3f#includeusing namespace std;int map[300][1010];int main(){ int i,j,k,t; int n,m,a,原创 2014-12-13 22:28:03 · 575 阅读 · 0 评论 -
nyoj-128 前缀式计算
虽然这都题目简单,但还是花了我俩小时,总是找不到错误。。本题目用到了栈#include#include#include#include#includeusing namespace std;char str[2000];int k;stackq;stackzf;void deal(int number){ int i,j; double a,b; while(!q原创 2015-04-11 09:21:55 · 652 阅读 · 0 评论 -
nyoj-257 郁闷的C小加(一)
看大神的代码看了好久,我自己感觉不太好理解代码:#include#include#include#includeusing namespace std;char str[1200];int fun(char ch){ //对优先级进行预定义 switch(ch){ case '+': ; case '-': return 1; break; case '*': ;原创 2015-04-07 15:40:32 · 657 阅读 · 0 评论 -
nyoj-756 重建二叉树
虽然比较简单,但是我还是很吃力的才做出来,参考大神的方法。。。大概思路就是递归,先找出来第一个根,然后根据此根将左子树跟右子树分开,无论是后序还是中序依据根分开,然后再依次递归#include#include//void deal(char right_str[],char middle_str[]);void deal(char right_str[],char middle_str[原创 2015-04-14 18:13:53 · 578 阅读 · 0 评论 -
nyoj-88 汉诺塔(一)
汉诺塔的规律就是当有n层时,一共需要移动2的n次方减1次那么问题来了,求2的n次方。。。。#include#includelong long deal(long long n){ long long t; if(n==1) return 2; t=deal(n/2); if(n%2==0) return ((t%1000000)*(t%1000000))%1000原创 2015-04-15 19:53:31 · 506 阅读 · 0 评论 -
nyoj-221 Tree
大概意思就是用的递归,先向左子树递归,然后向右子树递归。。。#include#includechar str[100],zf[100];void deal(int num_x,int num_y,int num_a,int num_b){ int i,j,k,t,n,m; k=0; for(i=num_a;i<=num_b;i++){ if(zf[i]==str[num_x])原创 2015-04-15 21:43:25 · 452 阅读 · 0 评论 -
nyoj-117 求逆序数
#include#include#include#define N 1000100int num[N];long long ans;void guibing(int a_1,int a_2,int b_1,int b_2){//归并函数 int n_1,t,m_1; int* temp=new int[b_2-a_1+5]; n_1=a_1; m_1=b_1; t=0;原创 2015-05-04 13:50:29 · 677 阅读 · 0 评论 -
用c实现的各种排序的方法
#include void swap(int *a, int *b);void bubble_sort(int a[], int n);void select_sort(int a[], int n);void insert_sort(int a[], int n);void shell_sort(int a[], int n);void heap_adjust(int a[], i原创 2015-12-18 14:19:50 · 2266 阅读 · 1 评论