
数据结构
数据结构学习过程记录
嘻嘻zzzz
哈哈哈!
展开
-
字符串的模式匹配(c语言)
#include<stdio.h>#include<string.h>void main(){ char a[30],b[10]; scanf("%s",a); scanf("%s",b); int i,j,len_a,len_b,flag; len_a=strlen(a); len_b=strlen(b); i=j=0; flag=0; int...原创 2019-04-14 17:01:45 · 1579 阅读 · 0 评论 -
判断回文(c语言)
利用链栈和队列判断回文#include<stdio.h>#include<conio.h>#include<stdlib.h>#define OK 1#define ERROR -1#define OVERFLOW -2typedef char Elemtype;typedef int status;typedef struct ...原创 2019-04-14 15:40:01 · 415 阅读 · 0 评论 -
一元稀疏多项式计算器(c语言)
P(x),Q(x)分别为两个一元稀疏多项式计算器,利用单链表存储。实现相加,相减,就地逆置两者之差。#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef struct term{ float coef;//系数 int expn;//次方 struct t...原创 2019-04-09 19:27:25 · 4110 阅读 · 3 评论 -
以带头节点的单向循环链表表示队列(c语言)
假设以带头节点的单项循环链表表示队列,并且只设一个指针指向队尾元素节点(注意:不设头指针),试设计并验证相应的队列初始化,对列的判空,入队列,出队列和遍历队列的算法。#include<stdio.h>#include<stdlib.h>#include<time.h> #define OK 1#define ERROR 0typedef str...原创 2019-04-09 19:21:30 · 3048 阅读 · 0 评论 -
表达式求值(c语言)
表达式求值并输出逆波兰表达式#include <stdio.h>#include<stdlib.h>#include <conio.h>#define OK 1#define ERROR 0#define OVERFLOW -2typedef char SElemType; typedef int E...原创 2019-04-09 19:14:13 · 333 阅读 · 0 评论 -
有序表的折半查找
输入:T(有序表中数的个数)输入T个数,按照大小顺序输入key输入需要查找的数输出:如果有这个数则输出这个数在有序表中是第几个,否则输出NO!input:101 16 24 35 47 59 62 73 88 9962output:NO.7#include<stdio.h>#include<stdlib.h&g...原创 2019-05-14 11:16:19 · 1160 阅读 · 0 评论 -
有向图的广度优先遍历(邻接矩阵)
#include<stdio.h>#include<stdlib.h>#define INFINTY 65535 //最大值#define MAX 20 //最大顶点个数#define OK 1#define ERROR 0#define FALSE 0#define TRUE 1typedef int status;typedef int Edge...原创 2019-05-20 15:42:35 · 3438 阅读 · 1 评论 -
无向图的深度优先遍历(邻接矩阵)
#include<stdio.h>#include<stdlib.h>#define INFINTY 65535 //最大值#define MAX 20 //最大顶点个数#define OK 1#define ERROR 0#define FALSE 0#define TRUE 1typedef int status;typedef int Edg...原创 2019-05-20 15:44:01 · 5055 阅读 · 0 评论 -
希尔排序(c语言)
#include<stdio.h>#include<stdlib.h>#include<time.h>#define N 10typedef struct{ int *data; int length;}Sqlist;void ShellSort(Sqlist *l){ int i,j,d,t,m; d=l->length; d...原创 2019-05-28 11:31:31 · 173 阅读 · 0 评论 -
直接插入排序(c语言)
#include<stdio.h>#include<stdlib.h>#include<time.h>#define N 10void InsertSort(int L[]){ int i,j,t,m; for(i=1;i<N;i++) { if(L[i]<L[i-1]) { t=L[i]; for(j=i-1...原创 2019-05-28 11:03:42 · 1489 阅读 · 0 评论 -
二叉排序树的创建
二叉排序树,又称为二叉查找树。它或者是一棵空树,或者是具有以下性质的二叉树。1、若它的左子树不为空,则左子树上的所有节点的值均小于他的根的值2、若他的右子树不为空,则右子树的所有节点的值均大于它的根的值3、它的左右子树也分别为二叉排序树二叉树的结构://二叉树的二叉链表节点结构定义typedef struct BiTNode{int data;struct BiTN...原创 2019-05-14 20:01:00 · 3496 阅读 · 0 评论 -
二叉树的递归遍历(c语言)
#include<stdio.h>#include<stdlib.h>#define OK 1#define ERROR 0typedef char Elemtype;typedef struct node{ Elemtype data; struct node *lchild,*rchild;}*BiTree,Tree;void createBiTr...原创 2019-04-16 14:35:15 · 516 阅读 · 0 评论 -
哈希表的构建与查找
#include<stdio.h>#include<stdlib.h>#define NULLKEY -1000typedef struct BitNode{ int *data;//存放数据的动态数组 int count;}HashT;HashT *Init_HashT(HashT *H,int m){ H->count=m; H->...原创 2019-10-20 16:20:15 · 723 阅读 · 0 评论 -
大数相减(c语言)
#include<stdio.h>#include<string.h>#include<stdlib.h>void main(){ int num_a[500]={0}; int num_b[500]={0}; int result[500]={0}; char a[500],b[500]; scanf("%s",a); scanf("%...原创 2019-04-14 16:35:06 · 935 阅读 · 0 评论 -
大数相加(c语言)
#include<stdio.h>#include<string.h>void main(){ int num_a[500]={0};//数组初始化一定要 int num_b[500]={0}; int result[500]={0}; char a[500],b[500]; scanf("%s",a); scanf("%s",b); int len_...原创 2019-04-14 16:27:10 · 525 阅读 · 0 评论 -
栈实现迷宫(c语言)
利用栈实现迷宫问题,1、输入迷宫的大小m行n列,两者为整数。2、由随机数产生0或1,建立迷宫。3、输出数据。4、首先输出迷宫,在打印由入口到出口的入线。如无通道,则打印出无。#include <stdlib.h> #include<time.h> #include <stdio.h>#include<windows.h>#define...原创 2019-04-09 19:14:49 · 2599 阅读 · 4 评论