自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 进程线程笔记

进程和线程是操作系统中非常重要的概念,对于编程人员来说,理解和掌握进程和线程的概念是至关重要的。使用fork()函数可以创建一个新的进程,新进程是原进程的副本,它们共享代码段、数据段和堆栈。创建一个新的进程需要分配独立的地址空间和系统资源,而创建一个新的线程只需要为线程分配堆栈空间。进程和线程是操作系统中的重要概念,对于编程人员来说,理解和掌握进程和线程的概念是非常重要的。而线程之间的并发性较高,因为线程共享进程的资源,线程的切换开销较小。线程的切换也比进程的切换快速,因为线程共享进程的资源。

2023-08-28 20:03:24 39 1

原创 Linux文件IO笔记

在这个示例中,我们首先使用`fopen()`函数打开一个名为`example.txt`的文件,并指定打开模式为`r+`,即以读写模式打开文件。然后,我们使用`fseek()`函数将文件指针移动到文件开头,并使用`fwrite()`函数将新数据写入文件。在打开文件时,程序会与操作系统进行交互,操作系统会根据文件路径找到对应的文件,并将文件的相关信息(如文件大小、文件指针等)加载到内存中。关闭文件时,程序会将内存中的文件相关信息写回操作系统,操作系统会关闭与文件相关的所有资源。// 关闭文件并保存更改。

2023-08-28 19:55:10 33 1

原创 快速排序算法

快速排序是一种高效的排序算法,它采用分治策略,将待排序的序列划分为两个子序列,然后递归地对这两个子序列进行排序。快速排序的基本思想是选择一个基准元素,将序列中小于等于基准的元素放到基准元素的左边,将大于基准的元素放到基准元素的右边,然后分别对左右两个子序列进行递归排序,直到子序列的长度为1或者0为止。快速排序的平均时间复杂度为 O(nlogn),在实际应用中非常常用。

2023-08-17 19:47:54 32 1

原创 数据结构中的重难点2

在访问该节点的同时,将其子节点入队。广度优先搜索会先访问根节点,然后依次访问根节点的所有邻居节点,接着访问邻居节点的邻居节点,以此类推。例如,在单链表中,删除一个元素需要先找到该元素的前驱节点,然后将前驱节点的指针指向该元素的后继节点,最后释放该元素的内存空间。如果需要在数组中插入或删除一个元素,就需要先创建一个新的数组,然后将旧数组中的元素复制到新数组中,最后删除旧数组并使用新数组。例如,在二叉树中,层序遍历会首先访问根节点,然后访问第二层的左节点和右节点,接着访问第三层的左节点和右节点,以此类推。

2023-08-17 18:28:21 39 1

原创 数据结构中的重难点

需要熟练掌握各种排序算法(冒泡排序、选择排序、插入排序、快速排序、归并排序、堆排序、希尔排序等)和查找算法(顺序查找、二分查找、哈希查找、二叉查找树、平衡二叉树等)。线性表和链表是最基本的数据结构,需要熟练掌握单链表、双链表、循环链表、双向循环链表的创建、插入、删除、查找等操作,以及线性表的各种遍历方法(如顺序遍历、递归遍历、迭代遍历等)。算法设计与分析是数据结构课程的核心内容,需要掌握基本的算法设计方法(如分治、贪心、动态规划、回溯等)和算法分析方法(如时间复杂度、空间复杂度等)。

2023-08-17 17:48:49 365 1

原创 数据结构学习笔记

顺序存储是将数据元素存储在一段连续的内存空间中,数据元素之间的逻辑关系通过存储位置的相邻关系来表示。链式存储是将数据元素存储在不连续的内存空间中,每个数据元素包含一个指向其直接后继元素的指针。线性结构中的数据元素之间存在一对一的关系,即每个数据元素只有一个直接前驱和一个直接后继。图结构中的数据元素之间存在多对多的关系,即每个数据元素可以有多个直接前驱和多个直接后继。逻辑结构是数据对象中数据元素之间的逻辑关系,包括集合结构、线性结构、树形结构和图结构。数据对象是具有相同性质的数据元素的集合。

2023-08-17 17:47:04 31 1

原创 c高级笔记

void * 类型的指针 可以赋值 void *p = &a;*p 不行 *(int*)p 可以的。void * (void *) 是 一个函数类型 这个类型的函数 有一个 void*类型的返回值。先*p == a[0] 然后 a[0] = a[0]+1;//*arr++ == *(arr++) == 先*arr用 然后 arr=arr+1;*p++ == 先*p == a[0] 然后 p = p+1;先*p == a[0] 然后 然后 a[0] = a[0]+1;

2023-08-09 19:16:03 26 1

原创 递归 函数

每次自己调用自己 问题规模在逐渐减小 , 向临界条件趋近。递推过于 深入 可能导致栈区溢出 段错误。在一些特定情况下, 使用递归可以 简化代码量。函数中 存在 自己调用自己 (递推关系)临界条件: 退出自己调用自己 的条件。本质就是 对栈区空间的 利用。1,递归求和1+2+3+......+n的值。2,递归函数求斐波拉契数列第n项。

2023-08-09 19:11:22 22 1

原创 字符串倒序(c语言)

字符串倒序

2023-08-09 17:50:30 38 1

原创 杨辉三角(c语言)

printf("杨辉三角第%d行第%d列的值为:%d\n", h, l, value);{ printf("请输入行列:h l");1 打印杨辉三角第某行第某列的值。2, 打印10行杨辉三角。//打印10行杨辉三角。

2023-08-09 17:44:15 20 1

原创 Linux基础笔记

linux基础笔记

2023-08-09 17:31:17 24 1

原创 linux基础应用笔记

2023-08-03 20:18:29 35 1

原创 linuxC基础笔记

if (board[i][j] == player && board[i + 1][j + 1] == player && board[i + 2][j + 2] == player && board[i + 3][j + 3] == player && board[i + 4][j + 4] == player) { // 检查左上到右下斜线五子连珠。"白" : "黑");i++) { // 遍历每一行,跳过最后一行。

2023-07-31 20:22:30 22 3

原创 linuxC基础笔记

(3)输入一个数num 输出这个数的阶乘 5!(2)输入一个 日期 年月日 计算 这个一天 是 这一年的第几天?请输出 f=整数部分,.f=小数部分 保留2位小数。(1)若有定义 float f = 3.141;(5)判断1-100以内的数是否为水仙花数。(7)打印输出 99乘法表 循环实现。示例: f=3,.f=0.14。(6)求 0-100 中的所有质数。(8)求 斐波那契数据 第 n项的值。(4)打印下列图像 使用循环。

2023-07-31 20:07:09 29 2

原创 linuxC基础笔记

int 整型 32bit 4字节 0-2^32-1 = 4,294,967,295。x = 2的(m-n+1)次方-1。C语言表达式 ('a' <= a && a <= 'z') || ('A' <= a && a <= 'Z') == 0。数码 0-9 A(10) B(11) C(12) D(13) E(14) F(15)int arr[5] = {1,0,2};

2023-07-31 19:50:02 44 2

原创 linuxC基础笔记

1,linux系统常用基本命令。

2023-07-31 19:22:50 44 2

空空如也

空空如也

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

TA关注的人

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