自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 BM1 反转链表

给定一个单链表的头结点pHead(该头节点是有值的,比如在下图,它的val是1),长度为n,反转该链表后,返回新链表的表头。数据范围: 0\leq n\leq10000≤n≤1000要求:空间复杂度 O(1)O(1) ,时间复杂度 O(n)O(n) 。如当输入链表{1,2,3}时,经反转后,原链表变为{3,2,1},所以对应的输出为{3,2,1}。以上转换过程如下图所示:struct ListNode* ReverseList(struct ListNode* pHead)

2022-05-14 13:33:01 261

原创 单链表的创建之头插法和尾插法

头插法:/使用头插法建立单链表void CreastLsitF(LinkNode* L, ElemType a[], int n){ LinkNode* s; L = (LinkNode*)malloc(sizeof(LinkNode));//创建头结点 L->next = NULL;//将next置为NULL for (int i = 0; i < n; i++) { s = (LinkNode*)malloc(sizeof(LinkNode)); s->da

2022-05-12 19:13:49 287

原创 数据结构之单链表的经典习题

有一个顺序表L,假设元素类型为ElemType类型,设计一个尽可能高效的算法,并以第一个元素为基准,将小于基准元素的放到前面,将大于基准元素的元素放到后面。解题思路:以第一个元素为基准,从右向左找到一个小于等于这个的元素,再找到一个大于这个基准的元素,将这两个元素进行交换。对于交换有两种思路;解法一:int partitionl(Sqlist* L){ int i = 0; int j = L->length - 1;//对i,j进行初始化 ElemType pivot

2022-05-12 18:35:11 1027

原创 数据结构之顺序表

线性表的顺序存储结构线性表。首先声明一个Sqlist的结构体#define MAXSIZE 50;typedef struct{ElemType data[MAXSIZE];int length;}Sqlist;注意事项:在顺序表中,有逻辑地址和物理地址,逻辑地址是从1开始的,而物理地址是从0开始的,所以应该注意给的地址是逻辑地址和物理地址。1、建立单链表//建立顺序表void CreatList(Sqlist* L, ElemType a[], int n)//L为建立的

2022-05-12 17:42:32 189

原创 贪吃蛇源码

//贪吃蛇大作战 #include <stdio.h>#include <time.h> #include <windows.h> //控制界面 #include <stdlib.h> //宏和通用工具函数 #include <conio.h> //接收键盘输入/输出#include <unistd.h> //sleep函数//宏定义 #define U 1#define D 2#define L 3#d.

2022-04-29 18:40:42 1785

原创 有头结点和没有头结点的单链表

在我们遇到的大多数题中,一般都是有头结点的单链表。这里我们可以把没有头结点的单链表看成我们的特殊情况,接下来,我们将从有头结点的单链表和没有头结点的单链表的定义,插入一个元素,删除一个元素等方面进行对比。有头结点的单链表和没有头结点的单链表的定义:typedef int ElemType;typedef struct LNode{ ElemType data; struct LNode* next;}LNode,*LinkList;带头结点的单链表的按位插入bool ListI

2022-04-24 18:55:36 2214

原创 2. 两数相加给你两个 非空 的链表,表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的,并且每个节点只能存储 一位 数字。请你将两个数相加,并以相同形式返回一个表示和的链表。你可

/** * Definition for singly-linked list. * struct ListNode { * int val; * struct ListNode *next; * }; */struct ListNode* addTwoNumbers(struct ListNode* l1, struct ListNode* l2) { struct ListNode* head;//定义头节点 struct ListNode* tail;/.

2022-04-24 18:14:50 501

原创 力扣—001给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。(用C语言写的暴力解法)

给定一个整数数组 nums 和一个整数目标值 target,请你在该数组中找出 和为目标值 target 的那 两个 整数,并返回它们的数组下标。你可以假设每种输入只会对应一个答案。但是,数组中同一个元素在答案里不能重复出现。你可以按任意顺序返回答案。int* twoSum(int* nums, int numsSize, int target, int* returnSize){ for(int i=0;i<numsSize;i++) { for(int j=1+i;j&

2022-04-21 18:26:39 376

原创 status(c语言)

status作为函数类型,为函数返回的值得类型,类似于int,double等类型。但是status不是c语言中的关键字,也不是c语言库函数里面的库函数。status是我们自己定义的一个关键字。eg:tepedef int status;或者status char status;例如上面的输出,a=3.33,b=3...

2022-04-20 19:46:25 39273 2

空空如也

空空如也

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

TA关注的人

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