C语言
文章平均质量分 79
爱尔兰堤坝
这个作者很懒,什么都没留下…
展开
-
数据库MySQL基本操作
一. 登陆数据库MySQL启动数据库系统偏好设置启动或关闭:Launchpad——系统偏好设置——MySQL——Start/Stop MySQL Server进入mysql进入或退出mysql// 进入mysql(要求输入mysql登录密码)mysql -u root -p// 退出mysqlexit或者^C二. 数据库基本操作数据库的基本操作数据库的建立 create database XXX;数据库的查看 show databases;数据库的使用 use d原创 2021-04-27 20:38:31 · 172 阅读 · 0 评论 -
C语言——两道算法题
一. 有效的括号做题之前判断最重要,首先想一下不符合条件的情况相同类型的左右括号才能互相匹配(反例如事例3)即便左右括号的数量是相等的,也要注意左右括号匹配的顺序(反例如事例4,虽然括号是一样多的,但是匹配的顺序不对,所以不能通过数量来判断)还有一种情况是括号多余了(比如 (([]{}), (((((((() 这种情况,当数目不是偶数就可以排除了,还有一种是([{}]))) 这样就要仔细考虑了)模拟这种问题就想到要用栈了。用栈来保存未匹配的左括号,从左到右依次扫描字符串。当扫描到左括号时,原创 2021-04-11 05:11:17 · 157 阅读 · 0 评论 -
迪杰斯特拉(Dijkstra)算法求最短路径
一.最短路径从某顶点(源点)出发到另一顶点(目的地)的路径中,有一条各边(或弧)权值之和最小的路径称为最短路径迪杰斯特拉算法:从单原点到其余各店的最短路径二.基本思想依最短路径的长度递增的次序求得各条路径。其中,从源点到顶点v的最短路径是所有最短路径中长度最短者路径长度最短的最短路径的特点:在这条路上,必定只含一条弧,并且这条弧的权值最小(记为v0->v1)下一条路径长度次短的最短路径的特点:或者是直接从源点到该点(只含一条弧)或者是从源点经过顶点v1,再到达该顶点(由两条弧组原创 2020-12-17 21:28:49 · 30370 阅读 · 0 评论 -
买卖股票的最佳时机
一.买卖股票的最佳时机题目:121.买卖股票的最佳时机思考:如果录入的是空数组,则直接返回0运用一层循环,记录最小值,遍历做差代码:int maxProfit(int* prices, int pricesSize){ if(pricesSize == 0) return 0; int i = 0; int min = prices[0]; int max = 0; for(i = 0; i < pricesSize; i++原创 2020-10-24 16:05:59 · 170 阅读 · 0 评论 -
链表基础题(删除问题,反转链表,快慢指针)
1. 题目:力扣237删除链表中的节点思考:从链表里删除一个节点 node 的最常见方法是修改之前节点的 next 指针,使其指向之后的节点。但是这道题我们无法访问我们想要删除的节点(node) 之前的节点.void deleteNode(struct ListNode* node)看它传入的参数是一个节点,所以我们只需要将想要删除的节点的值替换为它后面节点中的值,然后删除它之后的节点就可以了。但是要注意,题目中有提示(给定的节点为非末尾节点并且一定是链表中的一个有效节点)所以我们才可以用->原创 2020-09-17 19:12:40 · 313 阅读 · 0 评论 -
关于删除链表的几道题
1. 删除链表的倒数第n个节点给定一个链表,删除链表的倒数第 n 个节点,并且返回链表的头结点。示例:给定一个链表: 1->2->3->4->5, 和 n = 2.当删除了倒数第二个节点后,链表变为 1->2->3->5.说明:给定的 n 保证是有效的。进阶:你能尝试使用一趟扫描实现吗?来源:力扣(LeetCode)链接:https://leetcode-cn.com/problems/remove-nth-node-from-end-of-li原创 2020-05-30 21:59:28 · 774 阅读 · 0 评论 -
约瑟夫环问题的两种解决方案
一.约瑟夫环问题约瑟夫环是一个数学的应用问题:已知n个人(以编号1,2,3…n分别表示)围坐在一张圆桌周围。从编号为1的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。一.循环链表解决#include<stdlib.h>typedef struct node { unsigned int number; struct node * next;}* pt,node;void creat(pt * c,原创 2020-05-24 06:31:46 · 354 阅读 · 0 评论 -
链表的基本操作,增删查改(包括主函数)
一.建立链表尾插法#include<stdio.h>#include<string.h>#include<math.h>#include<stdlib.h>typedef struct student { char name[20]; int num; float score; struct student *next;} student;struct student* createlist(int n);v原创 2020-05-16 23:27:06 · 728 阅读 · 0 评论 -
反转链表的四种方法
一 . 新建链表法定义一个头节点,遍历链表,运用头插法将每个节点通过头节点插入道新建链表中。总结:1个头结点,2个指针(包含一个临时保存节点的pNex)struct ListNode* reverseList(struct ListNode* head){//定义一个头节点 struct ListNode* Newhead; Newhead = (struct Lis...原创 2020-05-07 18:10:57 · 10868 阅读 · 4 评论 -
快速排序两种最基本思路
基本思想快速排序是对冒泡排序的一种改进基本思想:通过一趟排序将要排序的数据分割成独立的两部分。其中一部分的所有数据都比另外一部分的所有数据都要小。然后再按此方法对这两部分数据分别进行快速排序,整个排序可以递归进行,一次整个数据变成有序序列注意:其主要运用了分治的思想有不同种方法将该段数据分成两段(小于等于key的一段在一边,大于key的一段在一边,key的数据在这两段段中间)快...原创 2020-05-01 20:02:14 · 7455 阅读 · 5 评论 -
string库函数总结
一.strlensize_t strlen(const char *s);返回s的字符串长度#include<stdio.h>#include<string.h>int main(int argc, char const *argv[]){ char line[] = "Hello"; printf("strlen = %lu\n",strl...原创 2020-04-26 01:21:09 · 1141 阅读 · 0 评论 -
输入输出字符和字符串总结
一.scanf函数输入字符和字符串scanf输入单个字符:char letter;scanf("%c",&letter); scanf输入字符串:给数值型数组赋值时,只能用for循环一个一个的赋值,但是字符数组赋值时可以直接赋值,不需要使用循环,系统会在最后添加结束标志符‘\0’.char a[30];scanf("%s",a); //可以有&也可以没有&a...原创 2020-04-25 22:38:54 · 1004 阅读 · 0 评论