c语言
sunshine_BUCT_LLP
我是蓝家小师妹,最喜夷陵老祖魏无羡。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
我的ACM之路——暴力除法
问题 B: 暴力除法时间限制: 1 Sec 内存限制: 128 MB提交: 1277 解决: 558[提交][状态][讨论版]题目描述输入正整数n,按从小到大的顺序输出所有形如abcde/fghij=n的表达式,其中a~j恰好为数字0~9的一个排列,2<=n<=79输入输入包括多行,每行一个正整数n,2<=n<=79输出针对每个输入的n,从小到大输出该表达式,若没有表达...原创 2018-05-04 18:45:09 · 786 阅读 · 0 评论 -
严蔚敏版数据结构课本代码——算法2.7
/* algo2-3.c 实现算法2.7的程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #include<stdio.h> /* EOF(=原创 2017-10-22 15:54:53 · 1339 阅读 · 0 评论 -
严蔚敏版数据结构课本代码——算法2.2
/* algo2-2.c 实现算法2.2的程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #include<stdio.h> /* EOF(=原创 2017-10-22 15:53:02 · 499 阅读 · 0 评论 -
严蔚敏版数据结构课本代码——算法2.2
/* algo2-2.c 实现算法2.2的程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #include<stdio.h> /* EOF(=原创 2017-10-22 15:50:33 · 1863 阅读 · 0 评论 -
严蔚敏版数据结构课本代码——算法2.1
/* main2-8.c 检验bo2-8.c的主程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #include<stdio.h> /* EO原创 2017-10-22 15:49:36 · 3672 阅读 · 1 评论 -
严蔚敏版数据结构课本代码——链表结构实现算法2.2(BUCT-JK1602-LLP)
/* algo2-13.c 采用链表结构实现算法2.2的程序,仅有4句与algo2-2.c不同 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #i原创 2017-10-22 15:47:30 · 759 阅读 · 0 评论 -
严蔚敏版数据结构课本代码——非降序线性表(BUCT-JK1602-LLP)
/* main2-9.c 检验bo2-9.c的主程序(除输出语句外,和main2-8.c很像) */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #i原创 2017-10-22 15:45:18 · 493 阅读 · 0 评论 -
北京化工大学 程序设计实训(报告)
北京化工大学 程序设计实训(报告)题 目: 学生姓名: 学 号: 所在学院: 信息科学与技术学院 专 业: 计算机科学与技术专业 班 级: 指导教师: 2017年7月 7 日原创 2017-10-22 15:36:17 · 1690 阅读 · 2 评论 -
C语言数据结构——赫夫曼树和赫夫曼编码
1、赫夫曼树又称最优树,是一类带权路径长度最短的树。 2、从树的一个结点到另一个结点之间的分支构成这两个结点之间的路径,路径上的分支数目称为路径长度。树的路径长度是从树根到每个结点的路径长度之和。 3、结点的带权路径长度为从该节点到树根之间的路径长度与结点上权的乘积。树的带权路径长度为数中所有叶子结点的带权路径长度之和。 4、假设有n个权值{w1,w2,…wn},试构造一棵有n个叶子结点的原创 2017-07-05 09:56:33 · 1438 阅读 · 0 评论 -
C语言数据结构——遍历二叉树
1、二叉树的遍历是指从根节点出发,按照某种次序依次访问二叉树中的所有结点,使得每个节点被访问依次且仅被访问一次。2、前序遍历: 规则是若二叉树为空,则空操作返回,否则先访问根节点,然后前序遍历左子树,再前序遍历右子树。 遍历的顺序为:1 2 4 8 5 3 6 9 10 7/*前序遍历算法*/void PreOderTraverse(BiTr原创 2017-06-04 10:53:29 · 14821 阅读 · 0 评论 -
C语言数据结构——二叉链表
链式存储结构 二叉树的链式存储结构是指,用链表来表示一棵二叉树,即用链来指示元素的逻辑关系。 通常的方法是链表中每个结点由三个域组成,数据域和左右指针域,左右指针分别用来给出该结点左孩子和右孩子所在的链结点的存储地址。其结点结构为: 其中,data域存放某结点的数据信息;lchild与rchild分别存放指向左孩子和右孩子的指针,当左孩子或右孩子不存在时,相应指针域值为原创 2017-06-03 22:15:03 · 3660 阅读 · 0 评论 -
严蔚敏数据结构——算法2.7改进
/* algo2-4.c 修改算法2.7的第一个循环语句中的条件语句为开关语句,且当 */ /* *pa=*pb时,只将两者中之一插入Lc。此操作的结果和算法2.1相同 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */原创 2017-10-22 15:56:13 · 981 阅读 · 0 评论 -
严蔚敏数据结构——算法2.11和2.12
/* algo2-5.c 实现算法2.11、2.12的程序 */ //#include"c1.h" /* c1.h (程序名) */ #include<string.h> #include<ctype.h> #include<malloc.h> /* malloc()等 */ #include<limits.h> /* INT_MAX等 */ #include<stdio.h> /*原创 2017-10-24 22:05:44 · 1950 阅读 · 0 评论 -
顺序查找
1、基本思路:从表的一端开始,顺序扫描线性表,以此将扫描到的关键字 和给定的值K进行比较,若当前扫描到的值和给定值相等,则查找成功,返回它所在的位置,否则查找失败,返回0. 2、算法实现 (1)typedef struct{ ElemType *elem; //元素存储空间基址建表时按实际长度分配,0单元留空 int TableLen; //表长度 }SSTable;i原创 2017-10-24 22:35:41 · 584 阅读 · 0 评论 -
我的ACM之路——分数拆分
问题 A: 分数拆分时间限制: 1 Sec 内存限制: 128 MB提交: 818 解决: 451[提交][状态][讨论版]题目描述输入正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y输入输入包括多行,每行一个正整数k,1<=k<=100000输出输出所有成立的分数式,按x从大到小的顺序样例输入212样例输出1/2=1/6+1/31/2=1/4+1/41/...原创 2018-05-04 18:41:20 · 840 阅读 · 0 评论 -
我的ACM之路——竖式
问题 C: 竖式时间限制: 1 Sec 内存限制: 128 MB提交: 1278 解决: 253[提交][状态][讨论版]题目描述找出所有形如abc*dc(三位数乘以两位数)的算式,使得在完整的竖式中,所有数字都属于一个特定的数字集合。例如,当该数字集合为2357时,只有一个竖式满足条件,该竖式中出现的所有数字都属于集合2357,该竖式为(*表示空格):**775X**33-----*2325...原创 2018-05-04 18:38:05 · 396 阅读 · 2 评论 -
我的ACM之路——回文串的判断
问题 D: 回文串判断时间限制: 1 Sec 内存限制: 128 MB提交: 2865 解决: 1046[提交][状态][讨论版]题目描述一个字符串,如果从左向右看和从右向左看是一样的,则称为回文串。请编写程序,判断输入的字符串是否是回文串。输入输入第一行为字符串个数n,0<n≤10000,其后n行为非空字符串,每行的字符串由字母和数字组成,字符串长度不超过1000。输出对每行字符串,若为回文...原创 2018-05-04 18:35:38 · 1156 阅读 · 0 评论 -
期末复习——回溯法
【1】装载问题问题描述: 有两艘船,载重量分别是c1、 c2,n个集装箱,重量是wi (i=1…n),且所有集装箱的总重量不超过c1+c2。确定是否有可能将所有集装箱全部装入两艘船。 输入: 多个测例,每个测例的输入占两行。第一行一次是c1、c2和n(n<=10);第二行n个整数表示wi (i=1…n)。n等于0标志输入结束。 输出: 对于每个测例在单独的一行内输出Yes或No。 输入样原创 2017-12-31 22:41:38 · 564 阅读 · 1 评论 -
KMP字符串模式匹配算法实现
#include<stdio.h>#include<stdlib.h>#include<string.h> #define Max 100#define TRUE 1#define FALSE 0 typedef unsigned char SString[Max+1];typedef int Status;Status StrAssign(SString T,char *strs) {原创 2017-12-17 20:51:18 · 1289 阅读 · 0 评论 -
期末复习——贪心算法
【1】活动安排问题 设有n个活动的集合E={1,2,3,……..,n},其中每个活动都要求使用同一资源,而在同一时间内只有一个活动使用这一资源。每个活动i都有一个要求使用该资源的起始时间 si 和结束时间 fi, 且si//4d1 活动安排问题 贪心算法#include "stdafx.h"#include <iostream> using namespace std; templa原创 2017-12-31 18:58:30 · 590 阅读 · 0 评论 -
期末复习——动态规划
【1】动态规划基本步骤: (1)找出最优解的性质,并刻划其结构特征。 (2)递归地定义最优值。 (3)以自底向上的方式计算出最优值。 (4)根据计算最优值时得到的信息,构造最优解。【2】矩阵连乘问题 给定n个矩阵{A1,A2,A3,……,An},其中Ai与Ai+1是可乘的,i=1,2,3,…..,n-1.考察这n个矩阵的连乘积A1A2A3A4,…….,An. 若一个矩阵的原创 2017-12-31 15:16:51 · 978 阅读 · 0 评论 -
期末复习——递归与分治策略
【1】阶乘函数int DiGui(int n){ if(n==0) return 1; return n*DiGui(n-1); } 【2】Fibonacci数列 无穷数列1,1,2,3,5,8,13,21,34,55,…,称为Fibonacci数列。当n=0时,F(n)=1; 当n=1时,F(n)=1; 当n>1时,F(n)=F(n-1)+F(原创 2017-12-31 10:18:08 · 508 阅读 · 1 评论 -
期末复习——数据结构部分
一、顺序查找 从表中的第一个(或最后一个记录)开始,逐个进行记录的关键字和给定值比较,若某个记录字与给定值相等则查找成功,找到所查找的记录。如果直到最后一个记录(或第一个记录),都没有找到给定值与记录字相等,则表中没有所查找的记录,查找不成功。/*顺序查找,a为数组,n为要查找的0数组的长度,key为关键字*/int SXSearch(int *a,int n,int key) {原创 2017-12-30 20:37:41 · 669 阅读 · 0 评论 -
折半查找
1、折半查找又称二分查找,它仅适用于有序表。 2、基本思路:在有序表中取中间记录作为比较对象,若给定值与中间记录的关键字相等,则查找成功;若给定值小于中间的记录的关键字,则在中间记录的左半区域查找,若给定值小于中间记录的关键字,则在中间记录的右半区域查找。 3、int Binary_Search(int *a,int n,int key){ int low,high,mid;原创 2017-10-25 18:59:07 · 1057 阅读 · 0 评论 -
静态表的顺序查找(BUCT-JK1602-LLP)
Problem A: 算法9-1:静态表的顺序查找 Time Limit: 1 Sec Memory Limit: 128 MB Submit: 388 Solved: 102 [Submit][Status][Web Board] Description用顺序表或者线性链表表示静态查找表时,搜索函数可以采用顺序查找来实现。 通常顺序查找的查找过程是从表中的自后一个记录开始,逐个将记原创 2017-10-24 22:38:32 · 3255 阅读 · 0 评论 -
C语言数据结构——二叉树的顺序存储结构
1、二叉树的顺序存储结构就是用一维数组存储二叉树的结点,结点的存储位置就是数组下标要能体现结点间的逻辑关系。 2、顺序存储结构一般只适用于完全二叉树。3、http://www.cnblogs.com/Alex-bg/archive/2012/08/12/2634203.html(代码原址)#include <stdio.h>#include <stdlib.h>#include <string原创 2017-06-03 20:33:26 · 17538 阅读 · 4 评论 -
C语言数据结构——二叉树
1、二叉树:是n(n>=0)个结点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根结点的左子树和右子树的二叉树组成。2、二叉树的特点: (1)每个结点最多有两棵子树,不存在度大于2的结点; (2)左子树和右子树是有顺序的,次序不能任意颠倒; (3)即使树中某个结点只有一棵子树也要区分它是左子树还是右子树。3、二叉树具有五种基本形态: (1)空二叉树;原创 2017-06-03 20:03:02 · 946 阅读 · 0 评论 -
C语言数据结构——串的堆分配
#include<stdio.h>#include<stdlib.h>#include<string.h>#define OK 1#define TRUE 1#define FALSE 0#define ERROR 0#define OVERFLOW -1typedef int Status;typedef struct { char *ch; // 若是非空串,则按串长转载 2017-05-15 11:20:21 · 1276 阅读 · 0 评论 -
c语言线性表顺序存储结构详解
1、 什么是顺序存储结构? 用一段地址连续的存储单元依次存储线性表的数据元素。 2、//线性表的顺序存储结构//#include<stdio.h>#include<stdlib.h>#define Max 80 //存储空间初始分配量 #define Increment 10 //存储空间分配增量typedef struct{ int *elem; // 存储空间基地原创 2017-04-24 16:31:23 · 2913 阅读 · 1 评论 -
数据结构——线性表基本操作
#include#include#define MAX 20#define LISTINCREMENT 10typedef struct{ int *elem; int length; int listsize;}SqList;void CreatList(SqList &L){//建立一个线性表 L.elem=(int*)malloc(MA转载 2017-04-23 22:02:44 · 650 阅读 · 0 评论 -
数据结构——单链表基本操作
#include #include #include // 定义链表中的节点typedef struct LinkedList{ int member; // 节点中的成员 struct LinkedList* Next; // 指向下一个节点的指针} LinkListed,*Linked;原创 2017-04-23 22:00:25 · 730 阅读 · 0 评论 -
C语言数据结构——子串在主串中的定位函数
#include<stdio.h>#include<stdlib.h>#include<string.h> #define Max 100#define TRUE 1#define FALSE 0 typedef unsigned char SString[Max+1];typedef int Status;Status StrAssign(SString T,char *strs) {原创 2017-05-14 12:07:20 · 10347 阅读 · 1 评论 -
数据结构学习笔记——线性表
线性表(List):0个或多个数据元素的有序数列。 若有多个元素存在,则第一个元素无前驱,最后一个元素五后继,其余的元素有且仅有一个前驱和后继。 线性表的元素个数n为线性表的长度,如果n为0,则表示的是空表。 每个数据元素都有一个确定的位置,a1称为第一个数据元素,ai称为第i个数据元素,i表示的是数据元素在线性表中的位序。 线性表的基本操作: ADT List { //ADT原创 2017-04-22 21:21:29 · 578 阅读 · 0 评论 -
C语言数据结构-桟——括号的匹配检验
#include<stdlib.h> #include<stdio.h> #include<string.h> #define INIT_STACK_SIZE 20 #define STACK_INCRE_SIZE 10 typedef struct { char *base; char *top; int stackSize; }sqSta转载 2017-05-03 11:33:58 · 1067 阅读 · 0 评论 -
桟的应用——十进制转化为八进制
#include<stdio.h>#include<stdlib.h>#include<math.h>#define InitStackSize 100 //初始化分配量typedef struct SqStack{ int *base; int *top; int size; }SqStack;//初始化void InitStack(SqStack &S)原创 2017-05-02 22:13:54 · 708 阅读 · 0 评论 -
桟的应用——数制转化
#include<stdio.h>#include<stdlib.h>#include<math.h>#define InitStackSize 100 typedef struct SqStack{ int *base; //桟底 int *top; //栈顶 int stacksize; }Sqstack;//初始化桟 void InitStack转载 2017-05-02 21:06:52 · 655 阅读 · 0 评论 -
桟的链式存储结构
#include<stdio.h> #include<stdlib.h>#include<malloc.h>#define OK 1 #define ERROR 0 #define OVERFLOW -2 #define STACK_INIT_SIZE 100 //栈初始化分配量 #define STACKINCREMENT 10 //存储空间的分配增量 typedef int SEl转载 2017-05-02 15:55:42 · 438 阅读 · 0 评论 -
桟的链式存储结构分部操作
1、桟的链式存储结构简称,链桟。链桟的空其实就是top=NULL. 2、桟的链式结构基本操作typedef int ElemType; typedef int Status;//构造一个结点typedef struct StackNode{ ElemType data; struct StackNode *next;}StackNode,*LinkStackPtr;type原创 2017-05-02 15:51:28 · 447 阅读 · 0 评论 -
C语言数据结构——栈、行编辑程序
/*顺序栈头文件:SeqStack.h*/ #include <stdio.h> #include <stdlib.h> #define STACKSIZE 100 typedef char DataType; typedef struct { DataType stack[STACKSIZE]; int top; }SeqStack; voi转载 2017-05-06 20:22:39 · 2619 阅读 · 0 评论 -
C语言数据结构——队列
1、队列是一种先进先出的线性表,它只允许在一端进行插入,在另一端进行删除。允许插入的一端叫队尾,允许删除的一端叫对头。 2、队列的基本操作:InitQueue(&Q) //构造一个空队列DestroyQueue(&Q) //销毁队列ClearQueue(&Q) //清除队列QueueEmpty(&Q) //判断是否为空队列QueueLength(&Q) //求队列的长度Get原创 2017-05-08 10:28:28 · 692 阅读 · 0 评论
分享