自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(128)
  • 资源 (7)
  • 收藏
  • 关注

原创 合并两个有序数组-C语言

合并两个有序数组88. 合并两个有序数组 - 力扣(LeetCode) (leetcode-cn.com)思路和合并两个有序链表相同//两个数组元素分别比较,把数组中小的放到新数组,再把新数组拷回去void merge(int* nums1, int nums1Size, int m, int* nums2, int nums2Size, int n){ //1.动态开辟空间 int* arr = (int*)malloc(sizeof(int) * nums1Size); if (a

2022-01-10 00:45:32 933

原创 轮转数组-C语言

轮转数组189. 轮转数组 - 力扣(LeetCode) (leetcode-cn.com)方法一void rotate(int* nums, int numsSize, int k){ int tmp = 0; k = k % numsSize; for(int i = 0; i < k; i++) { tmp = nums[numsSize-1]; // numsSize-2:一定要注意 for(int j =

2022-01-10 00:34:30 463

原创 合并两个有序链表-C语言

合并两个有序链表21. 合并两个有序链表 - 力扣(LeetCode) (leetcode-cn.com)定义两个链表head,tail;遍历两个链表list1,list2,找最小。找到后,tail接上,然后移动tail至list1或list2。list1或list2后移。把未遍历过的接到tail后。struct ListNode* mergeTwoLists(struct ListNode* list1, struct ListNode* list2){ if(list1 == N

2022-01-09 01:06:26 2111 2

原创 相交链表-C语言

相交链表160. 相交链表 - 力扣(LeetCode) (leetcode-cn.com)获取两个链表的长度,并判断两个链表最后节点地址是否相同。相同–较长的链表减去长度差。同时递减,获取相同地址的节点。struct ListNode *getIntersectionNode(struct ListNode *headA, struct ListNode *headB) { if(headA == NULL || headB == NULL) return NULL

2022-01-07 23:57:43 712

原创 数组的度-C语言

数组的度//给定一个非空且只包含非负数的整数数组?nums,数组的 度 的定义是指数组里任一元素出现频数的最大值。//你的任务是在 nums 中找到与?nums?拥有相同大小的度的最短连续子数组,返回其长度。#include <stdio.h>#define Max_N 50001int findShortestSubArray(int* num, int numsSize);int main(){ int num[7] = {1, 2, 2, 3, 1, 4, 2}; pri

2022-01-05 15:23:10 937 2

原创 C语言入门130题-OJ

C入门130题

2022-01-04 22:41:48 2740

原创 删除链表中的倒数第K个结点(双(快、慢)指针)-C语言

删除链表中的倒数第K个结点(双(快、慢)指针)#include <stdio.h>typedef struct ListNode{ int data; struct ListNode *next;}Node;void CreateList(Node **head, int *arr, int n);Node *kNode(Node *head, int k);void printNode(Node *mmp);int main(){ Node *head = NULL

2021-12-31 00:48:05 128 1

原创 数据的存储(整型)-C语言

原码:直接将数字按照正负数的形式表示成二进制即可;反码:原码符号位不变,其他位按位取反即可;补码:反码+1得到补码;在计算机系统中,数值一律用补码来表示和存储。#include <stdio.h>int main(){ //对于正数和无符号来说,原码=补码=反码 char a = -1; //截断后 整型提升时补1 printf("%u %d %x\n", a, a, a); //%u输出补码 %d输出原码 unsign.

2021-12-28 17:12:09 376

原创 找零问题(贪心算法)-C语言

找零问题(贪心算法)#include <stdio.h>int getMinCash(int x, int *cash, int *res);int main(){ int x = 8478; //需要找零总数 int cash[5] = {50, 20, 10, 5, 1}; //零钱种类 int res[5] = {0}; //记录每类使用个数 int ans = getMinCash(x, cash, res); pr

2021-12-27 22:32:48 2036

原创 链表中的倒数第K个结点(双(快、慢)指针)-C语言

链表中的倒数第K个结点(双(快、慢)指针)#include <stdio.h>typedef struct ListNode{ int data; struct ListNode *next;}Node;void CreateList(Node **head, int *arr, int n);Node *kNode(Node *head, int k);Node *kkNode(Node *head, int k);void printNode(Node *mmp);

2021-12-25 20:37:58 77

原创 环形指针(双(快、慢)指针)-C语言

环形指针Ⅰ(双(快、慢)指针)#include <stdio.h>#include <stdbool.h>typedef struct ListNode{ int data; struct ListNode *next;}Node;void createList(Node **head, int *arr, int n);bool hasCycle(Node *head);void simRing(Node *head);int main(){ Node

2021-12-25 20:36:14 791

原创 链表的中间结点(双(快、慢)指针)-C语言

链表的中间结点(双(快、慢)指针)#include <stdio.h>typedef struct ListNode{ int data; struct ListNode *next;}Node;void CreateList(Node **head, int *arr, int n);Node *middleNode(Node *head);void printNode(Node *mmp);int main(){ Node *head = NULL; int a

2021-12-25 20:32:09 354

原创 救生艇(双指针)-C语言

救生艇(双指针)#include <stdio.h>void quick_sort(int *a, int left, int right);int numRescueBoats(int* people, int peopleSize, int limit);int main(){ int people[2] = {3, 2, 2, 1}; int limit = 3; int nums = numRescueBoats(people, 4, 3); printf("需要%

2021-12-24 22:24:04 293

原创 反转字符串(双指针)-C语言

反转字符串(双指针)#include <stdio.h>int main(){ char ch[5] = {'c', 'h', 'i', 'a', 'n'}; reversrStr(ch, 5); printf("反转后为:%s", ch);}void reversrStr(char *str, int size){ char *left = str; char *right = str + size - 1; while(left < right) { ch

2021-12-24 22:22:51 450

原创 搜索插入位置(二分法)-C语言

搜索插入位置(二分法)#include <stdio.h>int searchInsert(int* nums, int numsSize, int target);int main(){ int nums[5] = {3, 4, 6, 7, 8}; int target; while(1) { printf("请输入目标值:"); scanf("%d", &target); int index = searchInsert(nums, 5, target);

2021-12-24 22:21:13 284

原创 搜索二维矩阵(二分法、数组指针)-C语言

搜索二维矩阵(二分法)#include <stdio.h>#include <stdbool.h>bool searchMatrix(int (*matrix)[4], int matrixrow, int *matrixcol, int target);int main(){ int matrix[][4] = {{1, 3, 5, 7}, {10, 11, 16, 20}, {23, 30, 34, 60}}; int target = 13; int mat

2021-12-23 19:46:54 327

原创 杨辉三角形(递推、指针数组)-C语言

杨辉三角形(递推、指针数组)#include <stdio.h>void triangle(int *arr[], int numRows);void printfTG(int *arr[], int numRows);int main(){ int *arr[10]; triangle(arr, 10); printfTG(arr, 10);}//杨辉三角形void triangle(int *arr[], int numRows){// int *arr[nu

2021-12-23 14:06:32 442

原创 泰波那契序列(递推+递归)-C语言

泰波那契序列(递推+递归)记忆化搜索、简单DP#include <stdio.h>int TeponacciDT(int n);int TeponacciSumDT(int n);int TeponacciDG(int n);int TeponacciSumDG(int n);int main(){ int n; while(1) { printf("请问您需要求前几项呢?"); scanf("%d", &n); printf("递推-

2021-12-20 22:30:29 245

原创 斐波那契数列(递推)-C语言

斐波那契数列(递推)记忆化搜索---------数组充当备忘录#include <stdio.h>int Fib(int n);int FibSum(int n);int main(){ int n; while(1) { printf("请问您需要求前几项呢?"); scanf("%d", &n); printf("斐波那契数列第%d项为:%d\n", n, Fib(n)); printf("前%d项斐波那契数列之和:%d\n", n,

2021-12-20 22:27:56 1715

原创 分数序列、斐波那契数列之和(递归)-C语言

分数序列、斐波那契数列#include <stdio.h>double SeqSum(double mol, double den, int length);int FinSum(int first, int second, int length);int main(){ double mol = 2; double den = 1; int first = 1; int second = 1; int n; while(1) { printf("请问您需要求前几项

2021-12-20 16:56:03 659

原创 阶乘(递归)-C语言

阶乘(递归)#include <stdio.h>int Fac(int n);int FacAdd(int n);int main(){ int n; while(1) { printf("请输入您需要求的阶乘值:"); scanf("%d", &n); printf("%d的阶乘:%d\n", n, Fac(n)); printf("%d的阶乘之和:%d\n", n, FacAdd(n)); }}//递归求阶乘int Fac(int n){

2021-12-20 15:10:28 318

原创 链表创建与遍历(递归)-C语言

链表创建与遍历(递归)#include <stdio.h>#include <string.h>typedef struct link{ char data; struct link *next;}Link;int a[]={3, 2, 5, 8, 4, 7, 6, 9, 10, 520};void CreateLink(Link **Lk);void CreateLink1(Link **Lk, int *a);void PrintList(Link *L

2021-12-19 16:06:40 1166

原创 二叉树的基本操作(递归)-C语言

//二叉树的基本操作#include <stdio.h>#include <stdlib.h>typedef int DataType;typedef struct Tree{ DataType data; //存储的数据域// char data; struct Tree *lchild; //指向当前节点的左孩子 struct Tree *rchild; //指向当前节点的右孩子}BitTree;BitTree *Create

2021-12-18 21:29:57 867

原创 队列的实现(链表)-C语言

队列的实现(链表)队列:只允许在一端进行插入数据操作,在另一端进行删除数据操作的特殊线性表,队列具有先进先出FIFO(First In First Out)。入队列:进行插入操作的一端称为队尾。出队列:进行删除操作的一端称为队头。队列也可以数组和链表的结构实现,使用链表的结构实现更优一些,因为如果使用数组的结构,出队列在数组头上出数据,效率会比较低。#include <stdio.h>#include <assert.h>#include <stdbool

2021-12-15 15:23:15 1012

原创 栈的实现(数组)-C语言

栈的实现(数组)一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。压栈: 栈的插入操作叫做进栈、压栈、入栈,入数据在栈顶。出栈: 栈的删除操作叫做出栈。出数据在栈顶。栈的实现一般可以使用数组或者链表实现,相对而言数组的结构实现更优化一些。因为数组在尾上插入数据的代价比较小。#include <stdio.h>#include &l

2021-12-15 15:11:14 1252 1

原创 顺序表(动态)的基本操作大全-C语言

顺序表(动态)的各种基本操作静态顺序表:使用定长数组存储元素。动态顺序表:使用动态开辟的数据存储。静态顺序表只适用于确定知道需要存多少数据的场景。静态顺序表的定长数组导致N定大了,空间开多了浪费,开少了不够用。所以现实中基本都是使用动态顺序表,根据需要动态的分配空间大小,所以下面我们实现动态顺序表。优点:支持随机访问。需要随机访问数据时,可以适应很好的算法。缺点:头部、中部插入插入时间效率低。连续的物理空间,空间不够了以后需要增容:① 增容有一定层度的消耗。② 为了避免频繁的增

2021-12-14 20:33:32 585

原创 TCP实现点对点聊天(多线程)-C语言

TCP实现点对点聊天(多线程)-服务器端//**********操作步骤********************////1、编译:gcc TCPM.c -lws2_32 -o TCPM.exe//2、运行:TCPM#include <stdio.h>#include <winsock2.h>#include <pthread.h>int nclients = 0;void *hanld_client(void *arg);int main(int ar

2021-12-07 20:04:33 448

原创 TCP实现点对点聊天-C语言

TCP实现点对点聊天-服务器端//**********操作步骤********************////1、编译:gcc TCPSt.c -lws2_32 -o TCPSt.exe//2、运行:TCPSt#include <stdio.h>#include <winsock2.h>int main(int argc, char *argv[]){ //记录 int nclients = 0; //初始化动态链接库ws2_32.dll WORD sockVe

2021-12-07 20:02:25 2331

原创 UDP实现点对点聊天(多线程)-C语言

UDP实现点对点聊天(多线程)-服务器端//**********操作步骤********************////1、编译:gcc UDPM.c -lws2_32 -lmycon -lwinmm -o UDPM.exe//2、运行:UDPM#include <stdio.h>#include <winsock2.h>//#include <mycon.h>int isrunning = 1;struct sockaddr_in clientaddr;

2021-12-06 22:37:43 4034 1

原创 DEV有声有色控制台文本mycon库的下载和安装步骤

DEV有声有色控制台文本mycon库的下载和安装步骤下载:mycon x32mycon x64操作步骤:将libmycon.a文件拷贝到DevCpp\MinGW64\x86_64-w64-mingw32\lib目录下。将mycon.h文件拷贝到Dev-Cpp\MinGW64\x86_64-w64-mingw32\include目录下。运行步骤:方式1:命令编译win + r 输入cmd打开命令窗口cd 文件路径编译:gcc ****.c -lmycon -lwinmm

2021-12-06 21:48:00 1056

原创 UDP实现点对点聊天-C语言

UDP实现点对点聊天-服务端//**********操作步骤********************////1、编译:gcc UDPSt.c -lws2_32 -o UDPSt.exe//2、运行:UDPSt#include <stdio.h>#include <winsock2.h>int main(int argc, char *argv[]){ int nclients = 0; //设定socket版本为2.2 WORD sockVersion = MAK

2021-12-06 11:26:48 2950 1

原创 查询主机名对应的IP地址-C语言

查询主机名对应的IP地址操作步骤:编译:gcc getip.c -lws2_32 -o getip.exe运行:getip 主机名结果: 主机名 域名:DESKTOP-B1O7B1S 查询结果: 主机名:DESKTOP-B1O7B1S 地址类型:AF_INET 地址长度:4 IP地址#1:169.255.255.255 IP地址#2:192.255.255.255 IP

2021-12-05 20:07:49 1439

原创 WindowsSockets套接字编程学习-C语言

Windows操作系统环境下的套接字编程主要步骤如下:初始化WinSock的DLL动态链接库,使用WSAStartup函数。创建套接字,进行地址、端口、协议等的绑定,涉及socket、bind函数。进行套接字的监听、连接,涉及listen、accept、connect等函数。进行数据包的收发通信,涉及send、recv函数。关闭相应的套接字,涉及closesocket、shutdown函数。注销和释放相应的动态链接库资源,使用WSAtarstup函数。具体案例可参考如下:案例一:查询主

2021-12-04 21:15:25 929

原创 万年历-C语言

//万年历//1年1月1日 周日 //也可使用给定的日子 见黑色星期五 打印日历 #include <stdio.h>int months[2][13] = { { 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 }, //非闰年的12个月 { 0, 31, 29, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31 } //闰年的12个月};int isLeap(int

2021-12-03 22:59:42 303

原创 模拟计算机(函数指针数组的应用)-C语言

模拟计算机 指针 *p 指针数组(*p[3])数组指针 (*p)[3] 数组指针数组(*p[3])[3]函数指针int (*p)(int, int) 函数指针数组int (*p[3])(int, int)

2021-12-03 22:04:56 538

原创 学生管理系统(链表)-C语言

学生管理系统(链表):增加学生信息、显示学生信息、删除学生信息、查询学生信息、修改学生信息、保存学生信息、预加载学生信息、将学生信息进行排序...........

2021-12-03 18:01:51 316

原创 通讯录管理系统(链表)-C语言

通讯录管理系统(链表):添加、删除、查找、保存、修改...........

2021-12-02 22:53:04 2281 2

原创 学生管理系统(数组)-C语言

学生管理系统:帮助、增加学生、删除学生、查询学生、展示学生、修改学生信息、保存学生信息到文件、从文件读取学生信息........

2021-12-01 22:28:57 567

原创 双向链表的基本操作大全(增删改查...)-C语言

//双向链表的基本操作(增删改查...)//新创建双链表为 41->67->34->0->69->24->78//在表中第 4 的位置插入元素 1 41->67->34->1->0->69->24->78//在表中第 2 的位置插入元素 8 41->8->67->34->1->0->69->24->78//表中删除元素 8

2021-11-30 19:39:33 231

原创 单链表的基本操作大全(增删改查...)-C语言

//单链表的基本操作(增删改查...)//新创建的链表为:1->7->4->0->9->4->8//7 find!//7前插入是://1->4->7->4->0->9->4->8//4 find!//4后插入是://1->4->8->7->4->0->9->4->8//7 find!//删除7后是:1->4->8->4->0->9-&g

2021-11-30 19:38:24 109

mycon x32.rar

mycon-C

2021-12-06

mycon x64.rar

mycon库

2021-12-06

python笔记哟!!!

python所有笔记哟!!!

2020-08-11

MySQL笔记哟!!!

mysql所有的笔记

2020-08-11

PPT素材库文件夹命名.xmind

ppt素材库文件夹命名规范

2020-07-29

STM32模版.rar

本人自用模板,欢迎使用!!!

2020-07-16

Setup_JLinkARM_V415e.exe

JLink驱动。

2020-07-16

空空如也

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

TA关注的人

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