- 博客(6)
- 收藏
- 关注
原创 新编数据结构习题与解析(李春葆)例题部分错误答案纠正(持续更新中,欢迎交流......
对于插入和删除元素而言,单链表的效率都要高于顺序表,AB均正确。【经验总结】顺序表优于单链表的操作:修改元素值、查询元素位置、输出第i个元素值、交换元素值等与随机访问有关的操作;单链表优于顺序表的操作:插入元素、删除元素;(任意位置)顺序表和链表操作效率等同:顺序输出n个元素的值;输出与给定值x相等的元素的序号;正确答案为A根据这个步骤,最终 的值应该是 ,不是 。书上提到的 的说法是忽略了 这个操作带来的影响。这一步会将 的值从 改为 ,所以最终答案应该是 。解析有误,可能性不止两个:p1,
2024-09-03 11:04:25
504
1
原创 从“无符号整型变量赋负值时输出错误”中简单看数据存储和提取的过程
L4:输出变量price的值,这时计算机将原先存储的补码提取出来,由于price是这个无符号变量,这就将原本储存在内存中的-1的补码变成了一个正数,因为无符号变量没有符号位,最高位不代表符号。2. 数据存储在内存中以他的二进制补码的形式,在输出时则是逆过程,即,存储时原码转换为补码存储在内存中,输出时把补码还原为原码。L4:输出变量price的值,这时计算机将原先存储的补码提取出来,去掉最高的符号位,将其他位取反再加一,结果就是1,加上最高位的1表示负号,最终输出结果就是-1。这个程序运行结果就是-1。
2024-08-03 19:19:02
369
原创 数据结构 | 二维数组的元素地址。【按行或按列存储】时,行列对换坐标,元素的起始地址保持不变
简单解释一下:因为数组的坐标都是从0开始计算的,所以元素 a[ i ][ j ]前面有0到 i - 1行(也就是共 i 行)是完整的一行,可以直接乘以列数 n ,然后元素所在行(也就是 i 行)有0到 j - 1个元素,直接加上就好了。你可以这样想,因为你已经算了a[0][0]的大小了,假如你想得到a[0][1]的起始地址,你直接拿a[0][0]的字节大小加上数组的首地址不就得了。因为是char数组,单个元素占1个字节,两者相减,易得a[5][5]的起始地址比a[0][0]高505个字节。
2023-12-08 18:22:12
1878
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人