自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(58)
  • 收藏
  • 关注

原创 蓝桥杯-带分数(C语言)

9. 标题:带分数可以表示为带分数的形式:100 = 3 + 69258 / 714还可以表示为:100 = 82 + 3546 / 197注意特征:带分数中,数字1~9分别出现且只出现一次(不包含0)。类似这样的带分数,100 有 11 种表示法。题目要求:从标准输入读入一个正整数N (N<1000*1000)程序输出该数字用数码1~9不重复不遗漏地组成带分数表示的全部种数。...

2019-03-27 21:22:32 4308 2

原创 次数差(C语言)

次数差x星球有26只球队,分别用a~z的26个字母代表。他们总是不停地比赛。在某一赛段,哪个球队获胜了,就记录下代表它的字母,这样就形成一个长长的串。国王总是询问:获胜次数最多的和获胜次数最少的有多大差距?(当然,他不关心那些一次也没获胜的,认为他们在怠工罢了)输入,一个串,表示球队获胜情况(保证串的长度 < 1000)要求输出一个数字,表示出现次数最多的字母比出现次数最少的字母多...

2019-03-19 15:27:41 888

原创 字典序全排列算法(非递归全排列算法)

全排列算法:我们先看一个例子。示例: 1 2 3的全排列如下:1 2 3 , 1 3 2 , 2 1 3 , 2 3 1 , 3 1 2 , 3 2 1我们这里是通过字典序法找出来的。那么什么是字典序法呢?从上面的全排列也可以看出来了,从左往右依次增大,对这就是字典序法。可是如何用算法来实现字典序法全排列呢?我们再来看一段文字描述:(用字典序法找124653的下一个排列)你主要看红...

2019-03-17 00:44:51 3089 6

原创 全排列的递归算法(C语言)

全排列的递归算法详解&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;进行全排列,对每种可能进行枚举,例如123,那么可以1与2互换,1与3互换,以及2与3互换。&amp;amp;amp;nbsp;&amp;amp;amp;nbsp;&amp;amp;amp;nbs

2019-03-16 21:43:26 31703 9

原创 标题: Excel地址(蓝桥杯)

标题: Excel地址Excel单元格的地址表示很有趣,它使用字母来表示列号。比如,A表示第1列,B表示第2列,Z表示第26列,AA表示第27列,AB表示第28列,BA表示第53列,…当然Excel的最大列号是有限度的,所以转换起来不难。如果我们想把这种表示法一般化,可以把很大的数字转换为很长的字母序列呢?本题目既是要求对输入的数字, 输出其对应的Excel地址表示方式。...

2019-02-26 15:30:27 1049 1

原创 蓝桥杯-拉马车(C语言)

标题:拉马车小的时候,你玩过纸牌游戏吗?有一种叫做“拉马车”的游戏,规则很简单,却很吸引小朋友。其规则简述如下:假设参加游戏的小朋友是A和B,游戏开始的时候,他们得到的随机的纸牌序列如下:A方:[K, 8, X, K, A, 2, A, 9, 5, A]B方:[2, 7, K, 5, J, 5, Q, 6, K, 4]其中的X表示“10”,我们忽略了纸牌的花色。从A方开始,A、B双...

2019-02-26 11:28:56 1184

原创 九宫幻方(C语言代码)

标题:九宫幻方&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;小明最近在教邻居家的小朋友小学奥数,而最近正好讲述到了三阶幻方这个部分,三阶幻方指的是将1~9不重复的填入一个3*3的矩阵当中,使得每一行、每一列和每一条对角线的和都是相同的。&amp;amp;nbsp;&amp;amp;

2019-02-22 12:07:16 2288

原创 串的基本操作

#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#define Maxlen 100/*求串长*/ int StrLength(char *p){ int i=0; while(p[i]!='\0') { i++; } return i;}/*串比较*/ int StrCompare(char *T,char *p)...

2019-02-15 23:34:40 728

原创 KMP算法详解

&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;&amp;amp;nbsp;Knuth-Morris-Pratt 字符串查找算法,简称为 “KMP算法”,常用于在一个文本串S内查找一个模式串P 的出现位置,这个算法由Donald Knuth、Vaughan Pratt、James H. Morris三人于1977年联合发表,故取这3人

2019-02-15 12:45:40 382

原创 BF算法详解

BF算法&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BF(Brute Force)算法也就是传说中的“笨办法”,是一个暴力/蛮力算法。设串S和P的长度分别为m,n,则它在最坏情况下的时间复杂度是O(m*n)。BF算法的最坏时间复杂度虽然不好,但它易于理解和编程,在实际应用中,一般还能达到近似于O(m+n)的时间度(最坏情况不是那么容易出现的,RP问题),因此,还在被大量使用。...

2019-02-15 11:30:16 12184

原创 八皇后问题(递归回溯算法详解+C代码)

为了理解“递归回溯”的思想,我们不妨先将4位皇后打入冷宫,留下剩下的4位安排进4x4的格子中且不能互相打架,有多少种安排方法呢?现在我们把第一个皇后放在第一个格子,被涂黑的地方是不能放皇后的:第二行的皇后只能放在第三格或第四格,比如我们放在第三格:这样一来前面两位皇后已经把第三行全部锁死了,第三位皇后无论放在第三行的哪里都难逃被吃掉的厄运。于是在第一个皇后位于第一格,第二个皇后位于第三格...

2019-01-28 23:12:14 27146 29

原创 数据结构和算法绪论

数据结构和算法绪论数据结构:是一门研究非数值计算的程序设计问题中的操作对象,以及它们之间的关系和操作等相关问题的学科。• 程序设计 = 数据结构 + 算法数据结构就是关系,没错,就是数据元素相互之间存在的一种或多种特定关系的集合。数据类型:是指一组性质相同的值的集合及定义在此集合上的一些操作的总称。• 原子类型:是不可以再分解的基本类型,包括整型、实型、字符型等。• 结构类型:自若干个...

2019-01-25 23:45:05 213

原创 循环队列的基本操作

为了解决顺序队列假溢出的问题,我们采用的方案是少用一个元素空间,此时的指针状态是队尾指针加1才与队头指针重合,于是此时队满的判定条件变为(rear+1)%MAXSIZE=front,队空的判定条件依然是front==rear,这样就能区分出来是队满还是队空状态了。一、循环队列的定义:#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#includ...

2019-01-25 16:42:04 15003 2

原创 顺序队列的基本操作

顺序队列会发生假溢出的情况,具体运行情况请看效果截图,相关代码如下:一、顺序队列的定义:#include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;lt;assert.h&amp;amp;amp;amp;gt;#define E

2019-01-25 12:03:16 11385 2

原创 链队列的基本操作

一、链队列的数据类型定义:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;assert.h&gt; #define ERROR 0#define OK 1 #define TRUE 1#define FALSE 0typedef int Status;typedef int El...

2019-01-23 22:25:02 1230

原创 中缀表达式转换为后缀表达式(C语言代码+详解)

中缀表达式转换为后缀表达式1.创建栈2.从左向右顺序获取中缀表达式a.数字直接输出b.运算符情况一:遇到左括号直接入栈,遇到右括号将栈中左括号之后入栈的运算符全部弹栈输出,同时左括号出栈但是不输出。情况二:遇到乘号和除号直接入栈,直到遇到优先级比它更低的运算符,依次弹栈。情况三:遇到加号和减号,如果此时栈空,则直接入栈,否则,将栈中优先级高的运算符依次弹栈(注意:加号和减号属于同一个...

2019-01-22 14:53:22 81241 17

原创 栈的链式存储的基本操作

1 :链式存储结构  栈的链式存储结构,简称链栈。  由于栈只是栈顶在做插入和删除操作,所以栈顶应该放在单链表的头部。另外,都有了栈顶在头部了,单链表中的头结点也就失去了意义,通常对于链栈来说,是不需要头结点的。  对于链栈来说,基本不存在栈满的情况,除非内存已经没有使用空间了。  对于空栈来说,链表原来的定义是头指针指向空,那么链栈的空其实就是top=NULL。#include&amp;amp;amp;amp;amp;lt;...

2019-01-21 14:42:12 2716

原创 利用栈实现对后缀表达式(逆波兰表达式)的求解(C代码实现)

我们最熟悉的表达式:1+2,(1+2)3,3+42+4等等都是中缀表示法。对于人们来说,也是最直观的一种求值方式,先算括号里的,然后算乘除,最后算加减,但是,计算机处理中缀表达式却并不方便,因为没有一种简单的数据结构可以方便从一个表达式中间抽出一部分算完结果,再放进去,然后继续后面的计算。而逆波兰表达式则可以轻松解决这一问题。  逆波兰表达式:  逆波兰表达式又叫后缀表达式。它是由相应的语法树...

2019-01-20 15:51:38 10066 6

原创 利用栈实现十进制对二进制,八进制、十六进制的任意转换(N进制)

1、程序代码如下(利用栈的动态分配实现):#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#define ERROR 0#define OK 1#define INITSIZE 10#define INCREMENT 2typedef int Status;typedef int Elemtype;ty

2019-01-19 20:43:47 25184 9

原创 利用栈进行二进制到八进制、十进制、十六进制的转换

1、二进制转八进制:/*二进制转八进制*/ #include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#include&amp;lt;math.h&amp;gt;#define MAXSIZE 20#define ERROR 0#define OK 1typedef int Status;typedef char El

2019-01-19 17:35:13 5493 1

原创 栈的静态分配顺序存储(top为整数且指向栈顶元素)

top为整数且指向栈顶元素,S-&gt;top=-1,具体入栈如下所示:一、栈的静态分配顺序存储结构描述:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#define ERROR 0#define OK 1#define MAXSIZE 10typedef int Elemtype;typedef int ...

2019-01-19 00:09:57 1001 1

原创 栈的静态分配顺序存储(top为整数且指向栈顶元素的下一个位置)

栈的顺序存储分为静态顺序存储和动态顺序存储,静态顺序存储的栈一次性分为配空间,但是不具备可扩重新,即在栈满后不能追加空间进行入栈操作。一、程序代码如下:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#define ERROR 0#define OK 1#define MAXSIZE 10typedef int E...

2019-01-18 23:31:21 1946

原创 栈的动态分配顺序存储的基本操作(top为指针且指针指向栈顶元素)

一、栈的动态分配顺序存储的结构定义:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#include&amp;lt;assert.h&amp;gt;#define ERROR 0#define OK 1#define INIT_SIZE 10 /*栈的初始分配容量*/ #define INCREMENT 2 /*栈的

2019-01-18 16:48:48 11192 3

原创 栈的动态分配顺序存储的基本操作(top为指针且指向栈顶元素下一个位置)

一、栈的结构组成定义:#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;#define ERROR 0#define OK 1#define INIT_SIZE 10 /*栈的初始分配容量*/ #define INCREMENT 2 /*栈的分配量增量*/ typedef int Status;

2019-01-18 11:15:47 7732 1

原创 将一个链表按逆序排列,将链头当链尾,链尾当链头。(头插法实现链表的逆置)

一、逆置算法如下:/*头插法实现单链表的逆置*/ LNode* InvertLinklist(LNode *L){ LNode *New=NULL,*p=L,*temp; //New为新链表的头指针,temp为辅助指针 while(p) //若首结点不为空则循环 { temp=p-&gt;next; ...

2019-01-16 23:42:31 2700

原创 约瑟夫问题循环链表做法

程序代码如下:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;assert.h&gt; #define LEN 41#define NUM 3typedef struct LNode{ int data; struct LNode *next;}LNode; LNode* Creat...

2019-01-15 22:33:46 524

原创 qsort()和bsearch()函数的使用实例与解析

#include&amp;amp;lt;stdio.h&amp;amp;gt;#include&amp;amp;lt;stdlib.h&amp;amp;gt;//升序排列 *(int*)b-*(int*)a为降序 int compare(const void *a,const void *b){ return *(int*)a-*(int*)b; } void Display(int number[],int len

2019-01-15 20:44:05 528

原创 将两个有序单链表合并成一个有序单链表的递归做法(C语言)

一程序代码如下:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#include&amp;lt;assert.h&amp;gt;#define LEN 5typedef int Elemtype;typedef struct LNode{ Elemtype data; struct LNode *next;}LNode,*Linkl

2019-01-15 19:52:33 19376 4

原创 设计在单链表中删除值相同的多余结点算法。

程序代码如下所示:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#include&amp;lt;assert.h&amp;gt;#define LEN 10typedef int Elemtype;typedef struct LNode{ Elemtype data; struct LNode *next;}LNode,*Lin

2019-01-15 17:21:29 22625 4

原创 设置顺序表L是个递增的有序表,试写一算法将number插入L中,并使L任是一个有序表。

一、实现算法如下:/*有序顺序表的插入*/void InsertSqlist(Sqlist *L,Elemtype number){ int i; assert(L-&amp;gt;length &amp;lt; L-&amp;gt;Listsize); //创建表的表长大于或等于初始分配量,则无法进行插入,停止程序 for(i=L-&amp;gt;length;i&amp;gt;0&amp;amp;&amp;amp;L

2019-01-15 14:57:59 17457 1

原创 双向循环链表的初始化、构建、插入、删除、表长、及遍历。

一、程序代码如下:#include&lt;stdio.h&gt;#include&lt;stdlib.h&gt;#include&lt;time.h&gt;#define OK 1#define ERROR 0#define LEN 10typedef int Elemtype;typedef int Status;typedef struct ...

2019-01-14 17:27:12 2391 1

原创 循环单链表的初始化、插入、删除、按位遍历、融合、销毁、求节点数等操作(C语言实战题代码详解)

一、循环单链表的抽象数据类型定义:#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include&amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#define OK 1#define ERROR 0 typedef int Elemtype; //数据类型重定义 typedef int Status;

2019-01-13 18:07:53 9173 2

原创 创建不带头结点的单链表之头插法和尾插法并求节点数(C+详细注释)

一、单链表抽象数据类型定义#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#include&amp;lt;time.h&amp;gt;#define OK 1#define ERROR 0#define LEN 10 typedef int Elemtype; //数据类型重

2019-01-12 16:02:06 8000 1

原创 创建带头结点的单链表之头插法和尾插法并求节点数(C+详细注释)

一、单链表抽象数据类型定义:#include&amp;amp;amp;lt;stdio.h&amp;amp;amp;gt;#include&amp;amp;amp;lt;stdlib.h&amp;amp;amp;gt;#include&amp;amp;amp;lt;time.h&amp;amp;amp;gt;#define OK 1#define ERROR 0#define LEN 10typedef

2019-01-11 22:57:14 3746

原创 线性表链式存储-初始化、插入、删除、查找、读取操作(C语言)

一、单链表抽象数据类型定义:#include&amp;lt;stdio.h&amp;gt;#include&amp;lt;stdlib.h&amp;gt;#define OK 1#define ERROR 0typedef int Elemtype;//数据类型重定义 typedef int Status;//状态类型重定义 typedef struct LNode{ Elemtyp...

2019-01-11 21:20:46 10633 3

原创 线性表的顺序存储-初始化、插入、删除、查找、读取(C语言)

一、顺序存储的线性表抽象数据类型定义:#include&amp;amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp;amp;gt;#define INIT_SIZE 100 /*线性表初始长度分配量*/ #define INCREMENT 10 /* 线性表存储分配量增量*/

2019-01-11 14:26:41 13759 2

原创 双向循环链表的实践(C语言+详细注释)

要求:实现用户输入一个数使得26个字母的排列发生变化,例如用户输入3输出结果:DEFGHIJKLMNOPQRSTUVWXYZABC同时需要支持负数,例如用户输入-3,输出结果:XYZABCDEFGHIJKLMNOPQRSTUVW程序代码如下:#include&amp;amp;amp;amp;lt;stdio.h&amp;amp;amp;amp;gt;#include&amp;amp;amp;amp;lt;stdlib.h&amp;amp;amp;amp

2019-01-10 20:32:32 632

原创 头指针和头结点意义和区别

1、介绍链表中第一个结点的存储位置叫做头指针,那么整个链表的存取就必须是从头指针开始进行了。之后的每一个结点,其实就是上一个的后继指针指向的位置。链式存储时只要不是循环链表,就一定存在头指针。2、头指针和头结点由定义可知头指针指向链表第一个存储位置,当存在头结点时头指针指向头结点,这时如果删除链表中的节点头指针不会改变(头指针不能删除)。当不存在头结点时,头指针指向首结点,如果这时候删除首...

2019-01-08 23:09:14 20992 8

原创 算法提高 8-1因式分解(c语言)

**问题描述  设计算法,用户输入合数,程序输出若个素数的乘积。例如,输入6,输出23。输入20,输出22*5。**例:数据规模和约定  输入数据中每一个数在int表示范围内。 法一:程序代码如下#include&lt;stdio.h&gt;int isprime(int n)//判断素数 { int flag=1; if(n==2) return 1; if(n%2==0...

2019-01-06 16:50:02 1200 2

原创 完美数的算法设计(C语言)

完全数(Perfect number),又称完美数或完备数,是一些特殊的自然数。它所有的真因子(即除了自身以外的约数)的和(即因子函数),恰好等于它本身。如果一个数恰好等于它的因子之和,则称该数为“完全数”。寻找完美的数题目描述:所谓完美的数是这个数除了它自身之外,所有因子的和等于该数。例如: 28,其因子包括:1,2,4,7,14,28,除了28之外,1+2+4+7+14 = 28再例如...

2019-01-06 15:23:40 11367 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除