自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 双向循环链表、链表与顺序表的比较

在单链表中的每个结点中,再设置一个指向其前驱结点的指针域/*线性表的双向链表存储结构*//*直接前驱指针*//*直接后继指针*/

2024-10-12 23:36:17 396

原创 循环链表(单循环链表)

将单链表中终端结点的指针端由空指针改为指向头结点,就使整个单链表形成一个环,这种头尾相接的单链表称为单循环链表,简称循环链表(circular linked list)

2024-10-05 23:56:23 408

原创 线性表的链式存储结构-单链表

例如,存储学生学号、姓名、成绩的单链表结点类型定义:但是,为了统一链表的操作L是一个指向LinkList类型的指针,也就是指向指针的指针。在这个函数中,我们想要分配内存给链表的头结点,并且让头指针L指向这个新分配的内存地址。因此,我们需要使用*L来修改L指针指向的地址*L解引用L指针,允许你修改它指向的地址L直接指向一个指针,没有解引用,所以你不能通过L来修改指针指向的地址如果函数声明是,那么L是一个普通的指针,而不是指向指针的指针在这种情况下,无法修改原始头指针的地址,因为L。

2024-10-04 20:32:24 771

原创 【大话数据结构】线性表

线性表(List):零个或多个数据元素的有限序列,元素间具有线性关系,即前驱后继关系线性表元素的个数n(n >= 0)定义为线性表的长度;当 n=0 时,称为空表aᵢ 是第 i 个数据元素,称 i 为数据元素 aᵢ 在线性表中的位序同一线性表中的元素必定具有相同特性,数据元素间的关系是线性关系静态分配的数组在什么位置,占多大的空间已经定了。数组的名字当中,存放的是数组当中的首元素data[0],放的是第1个元素的地址,也就是这个数组的首地址(基地址)

2024-10-03 16:35:54 679

原创 【大话数据结构】算法

算法是解决特定问题求解步骤的描述,在计算机中表现为指令的有序序列,并且每条指令表示一个或多个操作。

2024-10-02 21:10:37 878

原创 【大话数据结构】基本概念、数据结构、数据类型

指一个数学模型及定义在该模型上的一组操作ADT 抽象数据类型名{Data数据元素之间逻辑关系的定义Operation操作1初始条件操作结果描述操作2……操作n……}ADT 抽象数据类型名赋值参数:只为操作提供输入值如:求圆的面积area(r)/*area - 操作的名字r - 参数,圆的半径*/求乘方power(x,y)/*求 x 的 y 次方*/ADT Circle { /*ADT开头,定义的抽象数据类型叫作Circle*/

2024-10-02 17:28:13 825

原创 结构体的学习

函数传参时,参数是需要压栈的。如果传递一个结构体对象时,结构体过大,参数压栈的系统开销比较大,所以会导致性能下降(形参是实参的一份临时拷贝)结构体传参时,要传结构体的地址。

2024-09-19 13:18:02 140

原创 【python】if 函数使用条件表达式简化

判断结果为 False 就执行 else 之后的赋值。如果判断结果为True,就执行 if 之前的赋值。num 与 114514 进行比较。

2024-09-15 21:28:21 223

原创 python中非空字符串的布尔值为True

在 python 中一切皆有对象,每个对象都有一个布尔值而非空字符串的布尔值为 True,空字符串的布尔值为 False。

2024-09-14 22:53:24 138

原创 【python】输出四位整数的每个数字(使用切片)

对字符串中某个的检索成为切片。

2024-09-14 07:30:12 356

原创 python中的运算符

因为逻辑与 and 要两个都是 True 才是 True,所以当第一个表达式的结果为 False 直接得结果,不会计算 and 右侧的表达式了。左边(高位端)的空位端,如果最高位是 0 (正数),左侧空位填 0;将二进制数向左移动指定的位数,左边(高位端)溢出的位被丢弃,右边(低位端)的空位用 0 补充。>=(

2024-09-13 23:00:58 258

原创 eval()函数(又称评估函数)

知识1:eval()函数 - 评估函数作用:去掉参数中最外层引号,并执行剩余语句知识2:eval()函数经常与Input()函数一起使用,用来获取用户输入的数值。

2024-09-13 11:56:35 400

原创 任何一个变量/表达式,都有2个属性

让 a + 0.14,0.14 是 double 类型的(默认),a 是整型,int 算术转换成 double 类型的值。上文中,a + 0.14这个表达式,int 加上 double 算术转换了,但如果是赋值就不会。这里,sum 是整型,i 是 double 类型,但是最后的 sum 还是整型。因为在这里 i + sum 之后,又放进了 int 类型的 sum 之中。(好比把 2 米的棍子放进 1 米的空间,截断都要塞进去)值属性:a 的那个真实的地址。&a 的类型属性:int*类型属性:double。

2024-09-07 18:59:14 218

原创 short类型访问2个字节(错题)

知识1:short 类型在内存中一次访问 2 个字节。

2024-09-07 18:06:47 261

原创 因高低地址而造成的,越界访问后的死循环

如果 i 和 arr 之间有适当的空间 ,利用数组的越界操作就可能会覆盖的 i ,就可能会导致死循环的出现。

2024-09-07 13:01:06 209

原创 全局变量不初始化,默认会被初始化位为0

算术转换是向上转换的,如 int 类型和 unsigned int 类型一起,int 转换成 unsigned int。算数转换:如果某个操作数属于不同类型,那么其中一个操作数转换为另一个操作数的类型。因为sizeof操作符的返回值类型是size_t类型, 是无符号整型的。所以 int 类型的 i 也被转换成了 unsigned int 类型。sizeof 这个操作符计算返回的结果是size_t类型的,是。首先,i 是全局变量,没有给出初始化的数值,默认初始化为0。sizeof (i) 返回 4。

2024-09-06 16:12:23 253

原创 写一个函数返回参数二进制中1的个数

只需传数时,传入无符号数,那么就会将-1的11111111111111111111111111111111看作是非常大的正数。每次二进制位最右边的数变成0,后面的是借位变成1,这样才是-1。这个代码对给出的正负数,都可以计算二进制中的1的个数。变成:1011(2⁰ + 2¹ + 2³ = 11)通过数字的补码的右移 i 位,遍历了所有的二进制位。比如:1100(2² + 2³ = 12)然后&1,看最后1个二进制位是否为1。所以,-1的二进制中应该有32个1。当输入-1时,结果为0。执行1次,去掉一个1。

2024-09-06 11:23:47 302 1

空空如也

空空如也

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

TA关注的人

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