
c语言
梨花落-
这个作者很懒,什么都没留下…
展开
-
leecode-12整数转化为罗马数字C版
题目描述:https://leetcode-cn.com/problems/integer-to-roman/代码:解题思路:输入一个整数,整数分别与特殊节点的数(romavalue)来比较大小,将对应的罗马数字加入res中,减去节点值,继续比较。#include <stdio.h>#include <stdlib.h>#include <string.h>char * intToRoman(int num){ const int romavalue原创 2021-10-05 16:54:56 · 336 阅读 · 0 评论 -
leecode-8字符串转化为整数C版
1.字符串转换整数 (atoi)请你来实现一个 myAtoi(string s) 函数,使其能将字符串转换成一个 32 位有符号整数(类似 C/C++ 中的 atoi 函数)。函数 myAtoi(string s) 的算法如下:1.读入字符串并丢弃无用的前导空格2.检查下一个字符(假设还未到字符末尾)为正还是负号,读取该字符(如果有)。 确定最终结果是负数还是正数。 如果两者都不存在,则假定结果为正。3.读入下一个字符,直到到达下一个非数字字符或到达输入的结尾。字符串的其余部分将被忽略。将前面步原创 2021-09-30 21:49:46 · 301 阅读 · 0 评论 -
leecode-11盛最多水的容器C版-双指针的使用
1. 盛最多水的容器描述:给你 n 个非负整数 a1,a2,…,an,每个数代表坐标中的一个点 (i, ai) 。在坐标内画 n 条垂直线,垂直线 i 的两个端点分别为 (i, ai) 和 (i, 0) 。找出其中的两条线,使得它们与 x 轴共同构成的容器可以容纳最多的水。说明:你不能倾斜容器。输入:[1,8,6,2,5,4,8,3,7]输出:49 解释:图中垂直线代表输入数组[1,8,6,2,5,4,8,3,7]。在此情况下,容器能够容纳水(表示为蓝色部分)的最大值为 49。输入:hei原创 2021-09-30 17:27:26 · 350 阅读 · 0 评论 -
leecode-3无重复字符串的最长子字符串C版-滑动窗口
要求:给定一个字符串 s ,请你找出其中不含有重复字符的 最长子串 的长度。示例 1: 输入:s = “abcabcbb” 输出: 3 解释: 因为无重复字符的最长子串是 “abc”,所以其长度为 3示例 2: 输入:s = “bbbbb” 输出: 1 解释: 因为无重复字符的最长子串是 “b”,所以其长度为 1。解法利用滑动窗口。模式说明:输入一个数组或者字符串。求解的结果是觉有某种特征的子数组或者子字符串。这种情况下就可以利用滑动窗口求解。滑动窗口思想如下滑原创 2021-09-30 15:09:35 · 228 阅读 · 0 评论 -
数据结构-二叉树、搜索树、平衡二叉树详解及C语言实现
1、 树概念及结构1.1、树的概念树是一种数据结构,它是由n(n≥1)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。1.2、树的定义树(Tree) :n (n>=0) 个结点构成的有限集合。当n=0时,称为空树;对于任一棵非空树(n>0),它具备以下性质:树原创 2021-08-19 21:20:19 · 1640 阅读 · 0 评论 -
C语言 链式栈和顺序栈的实现
1、简介:栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。术语解释:栈顶(Top) :允许数据插入和删除的端,即栈的顶端。栈底(Bottom):固定并且不允许进行插入和删除操作的一端,即栈底。栈空:即不含有任何元素的栈。进栈、入原创 2021-08-12 18:06:37 · 1144 阅读 · 1 评论 -
顺序栈
结构体类型定义typedef struct { int *base; int *top; int stackSize;//可用空间 }SqStack;初始化一个顺序栈int InitStack (SqStack *S){ S->base=(ElemType*)malloc(Maxsize); if(!S->base) { exit(0); } S->top=S->base; S->stackSize=Maxsize;}//压栈 vo原创 2021-03-17 15:02:44 · 100 阅读 · 0 评论 -
顺序队列
顺序队列,顺序表构成的队列,事先用malloc函数创建好空间//结构体定义typedef struct{ ElemType *base; int front; int rear;}cycleQueue;//队列初始化(事先申请空间 大小为MAX)InitQueue(cycleQueue *q)//队列初始化 { q->base=(ElemType*)malloc(sizeof(ElemType)*MAX); if(!q->base) { exit(0); }原创 2021-03-16 21:23:46 · 106 阅读 · 0 评论 -
链式队列
队列:是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。//队列的建立nitQueue(LinkQueue *q) //队列的建立 { q->front=(Queueprt)malloc(sizeof(struct QNode)); q->rear=q->front; if(!q->front) {原创 2021-03-16 19:31:50 · 122 阅读 · 0 评论 -
c语言链表
数据结构链表注:“->”是一个整体,它是用于指向结构体子数据的指针,用来取子数据。结构体类型为注:struct LNode *pHead=(struct LNode *)malloc(sizeof(struct LNode));//malloc函数动态分配typedef struct LNode{Student data; //数据域struct LNode *pNext;//指针域}LNode//创建一个链表struct LNode *create_list(v原创 2021-03-16 10:59:58 · 269 阅读 · 0 评论