数据结构and算法
文章平均质量分 67
蝌蚪code
这个作者很懒,什么都没留下…
展开
-
静态链表
“a.h”#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define MAXSIZE 100typedef int ElemType;typedef int Status;typedef struct{ ElemTypedata; int cur;原创 2014-08-11 21:27:01 · 287 阅读 · 0 评论 -
如何利用双指针调用函数传递未知长…
#include stdio.h#include malloc.h#define N 10void fun(int**A) //用指针的指针{ int i; *A=(int*)malloc(N*sizeof(int)); // 可以任意分配长度 for(i=0;i (*A)[i]=i;}void main(){ int i; int*A原创 2014-08-11 21:28:02 · 329 阅读 · 0 评论 -
二叉链表
“a.h”#include#include#include#define TRUE 1#define FALSE 0#define ERROR 0#define OK 1typedef int Status;#define INT#ifdef INT typedef int ElemType; ElemType Nil=0;#endif#ifdef CHAR原创 2014-08-11 21:28:10 · 448 阅读 · 0 评论 -
迷宫 (栈)
(栈)" TITLE="迷宫 (栈)" />(栈)" TITLE="迷宫 (栈)" />(栈)" TITLE="迷宫 (栈)" />第二三副是一副说明一个问题:为什么m[1][5]变为了-1,那么多的3说明m[1][5]重复了访问两次,每一个被通过的单元都从他东边的一个单元开始检查他下一个单元是否通过。不管他前一个进入的单元是哪个方向,都要重新再来一次。"a.h"#incl原创 2014-08-11 21:27:23 · 355 阅读 · 0 评论 -
有符号&无符号
#includevoid main(){int x=-1;printf("%u\n",x);}输出 4294967295 位模式为 前31位为1,最后一位00xFF FF FF FE计算机中内存中的位模式是不变的,变的是计算机以何种方式去读原创 2014-08-11 21:27:31 · 295 阅读 · 0 评论 -
字符串
由于测试零散截图就略掉“a.h”#include#include#define FALSE 0#define OK 1#define ERROR 0#define TRUE 1#define MAXLEN 40typedef int Status;typedef int Status ;typedef charSString[MAXLEN+1];“b.h”Status原创 2014-08-11 21:27:38 · 257 阅读 · 0 评论 -
算法矩阵的计算
题目大意为给定一个N阶举证(1小于N小于100),矩阵中每一个元素的范围满足[-100,100],请你在这个N阶矩阵中任意找到一个a行b列(a可以等于b)的子矩阵,使得该a行b列子矩阵的所有元素的和最大。例如: 0 -2 -7 0 9 2 -6 2 -4 1 -4 1 -1 8 0 -2 中 9 2 -4 1 -1 8 这个矩阵最大,和为15。找出给定矩阵中子矩阵的最大值输入原创 2014-08-11 21:27:51 · 425 阅读 · 0 评论 -
Ackerman 函数
#includeint Ackerman(int m,int n){ int z; if(m==0) z=n+1; else if(n==0) z=Ackerman(m-1,1); else z=Ackerman(m-1,Ackerman(m,n-1)); return z;}int main(){ int m,n; scanf原创 2014-08-11 21:27:25 · 319 阅读 · 0 评论 -
强制类型转换
#includetypedef unsigned char *byte_pointer;void show(byte_pointer start,int len){ int i; for(i=0;i printf(" %.2x ",start[i]); //十六进制输出,一个字节一个字节输出 //由输原创 2014-08-11 21:27:29 · 307 阅读 · 0 评论 -
银行排队问题
主要用队列,元素用来放客户;用链表,元素用来放时间(时刻);客户办理所需时间durtime;客户到达的时间间隔intertime;现在进行的时刻occurtime.“a.h”#include#include#include#include#define TRUE 1#define FALSE 0#define ERROR 0#define OK 1#d原创 2014-08-11 21:27:34 · 868 阅读 · 0 评论 -
数组的顺序存储
“a.h”#include#include#include#include#include#define MAX_SIZE 8#define FALSE 0#define ERROR 0#define TRUE 1#define OK 1typedef int ElemType;typedef int Status;typedef struct{ElemType *ba原创 2014-08-11 21:27:47 · 395 阅读 · 0 评论 -
广义表
有两种结构的节点:一种是表节点,用以表示列表;一种是原子节点,用以表示原子。若列表不空,则可分解为表头和表尾;反之,一对确定的表头和表尾可以唯一确定列表。因此列表有三个域组成:标志域,两个指针域。而原子节点只需两个域标志域和值域。“a.h”#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define原创 2014-08-11 21:28:06 · 448 阅读 · 0 评论 -
串的堆分配表示
主要还是两个函数,IndexReplace"a.h"#include#include#include#define TRUE 1#define OK 1#define FALSE 0#define ERROR 0typedef int Status;typedef struct{ char *ch; int len;}HString;原创 2014-08-11 21:27:42 · 329 阅读 · 0 评论 -
栈的基本操作
“a.h”#include#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int ElemType;typedef int Status;#define INIT_SIZE 10#define STACKINCREMENT 2typedef st原创 2014-08-11 21:27:14 · 265 阅读 · 0 评论 -
一元多项式的各种操作
历时一个星期,时间确实也花了不少。VC++ 好蛋疼。 “a.h”#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status; typedef struct { floatcoef; //系数 int expn;原创 2014-08-11 21:27:12 · 1087 阅读 · 0 评论 -
稀疏矩阵的三元组顺序存储
该数据结构的操作主要是数组的相加 和相乘,这两个算法全是我个人所写,绝无参考,经测试应该少有bug“a.h”#include#define FALSE 0#define TRUE 1#define OK 1#define ERROR 0#define MAX_SIZE 100typedef int ElemType;typedef int Status;typedef st原创 2014-08-11 21:27:49 · 848 阅读 · 0 评论 -
huffman编码
赫夫曼树(huffman树)又称最优树,是一类带权路径最短的树。常常用于编码,及哈弗曼编码 “a.h” #include#include#include#define TRUE 1#define ERROR 0#define OK 1#define FALSE 0#define UINT_MAX 999 typedef struct { unsi原创 2014-08-11 21:28:13 · 299 阅读 · 0 评论 -
基本的高精度算法
原创 2014-08-11 21:28:45 · 304 阅读 · 0 评论 -
循环链表
“a.h”#include#include#define TRUE 1;#define FALSE 0;#define ERROR 0;#define OK 1;typedef int Status;typedef int ElemType;typedef struct DuLNode{ ElemType data; structDuLNode *prior原创 2014-08-11 21:27:05 · 331 阅读 · 0 评论 -
hanoi塔问题
#includeint c=0;void move(char x,int i,char y){ printf("第%d步,第%d个圆盘从%c移到%c\n",++c,i,x,y);}void hanoi(int n,char x,char y,char z)//从x移到z,y做辅助{ if(n==1) move(x,1,z); else{原创 2014-08-11 21:27:27 · 268 阅读 · 0 评论 -
带头结点的线性链表类型
"a.h"#include#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0typedef int Status;typedef int ElemType;typedef struct LNode{ ElemTypedata; struct LNode *next;}L原创 2014-08-11 21:27:08 · 497 阅读 · 1 评论 -
可变参数函数
stdarg.h是C语言中C标准函数库的头文件,stdarg是由standard(标准)arguments(参数)简化而来,主要目的为让函数能够接收可变参数。 stdarg.h数据类型 类型名称 描述 va_list 用来保存宏va_arg与宏va_end所需信息巨集名称 描述va_sta原创 2014-08-11 21:27:44 · 238 阅读 · 0 评论 -
全排列—递归
问题描述:生成从1到n(n的n个数的全部可能的排列(不一定按升序输出)输入要求:占一行,输入整数n输出要求:输出1到n的全排列输入样例:3输出样例:123132213231321312#include iostreamusing namespace std;int a[100],n;void fun(int x){int原创 2014-08-11 21:28:37 · 1138 阅读 · 0 评论 -
队列的一些基本算法
"a.h"#include"stdio.h"#include"malloc.h"#include"stdlib.h"#include"string.h"#include"math.h"#define TRUE 1#define FALSE 0#define ERROR 0#define OK 1typedef int ElemType;typedef int Status;原创 2014-08-11 21:27:16 · 676 阅读 · 0 评论 -
队列的顺序存储
“a.h” #include #include #include #include #include #include #include #include #include #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0typedef int Status;typedef int ElemT原创 2014-08-11 21:27:18 · 292 阅读 · 0 评论 -
矩阵的十字链表
“a.h”#include#include#include#define TRUE 1#define FALSE 0#define ERROR 0#define OK 1typedef int Status;typedef int ElemType;typedef struct Node{ inti,j; //行列坐标 ElemTypee; //节点元原创 2014-08-11 21:27:55 · 1167 阅读 · 0 评论 -
约瑟夫-链表
已知n个人(编号分别为1、2、3,……、n)围坐在一张圆桌周围,从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出 输出:出列人的编号(51 7 4 3 6 9 2 8)#includeiostream#include malloc.husing namespace std;typedef struct LNode {int data原创 2014-08-11 21:28:41 · 384 阅读 · 0 评论