Jeff的错题集(七):洗刷刷,洗刷刷

题一:
一组记录的排序码为(46,79,56,38,40,84),一趟排序的结果为(40,38,46,56,79,84),则采用的是()排序算法。
正确答案: C 你的答案: D (错误)
起泡
直接插入
快速
2-路归并
解答:
A选项起泡算法:相邻元素两两比较,一个元素大于右侧相邻元素交换位置,否则位置不变。
一趟排序为:46,56,38,40,79,84
B选项直接插入:每一步将一个待排序的记录,插入到前面已经排好序的有序序列中去,直到插完所有元素为止。
一趟排序为:38,40,46,79,56,84
C选项快速:挑选一个基准元素,大于基准元素的放在其右边,小于基准元素的放在其左边,从而拆分为两部分,以此类推直到不可拆分为止。
以源数据第一个元素46为基准,采用双边循环法设置left和right两个指针指向数组最左和最右两端,从右指针开始,如果大于或等于基准元素则指针向左移动,如果小于基准元素则停止。转向left指针向右移动如果小于或等于基准元素则继续向右移动,如果大于基准元素则停止。交换两指针元素后,右指针继续上述操作比较,直到最后把基准元素和两指针重复元素交换位置。第一趟排序结束得出如下排序,所以C正确。
一趟排序为:40,38,46,56,79,84
D选项2-路归并:将一个数组分成两个数组,分别对两个数组进行排序,循环第一步,直到划分出来的“小数组”只包含一个元素,只有一个元素的数组默认为已经排好序
一趟排序为:46,56,79合并;38,40,84合并
题二
有ABCDEF 六个城市,每一个城市都和其他所有城市直接相连,问从A——B有多少种连接方式,路径不允许在两个城市之间往返
正确答案: B 你的答案: D (错误)
78
65
43
以上都错
解答:
经过4个, 3个, 2个, 1个, 0个城市到达B
1* (4321) +
4 * (3
21) +
4 * 3 / 2 * 2 +
4 +
1 = 24 + 24 + 12 + 4 + 1 = 65
题三:
以下选项中不属于C语言程序运算符的是?
正确答案: B 你的答案: A (错误)
sizeof
< >
( )
&&
解答:
C的运算符有以下几类:
1.算术运算符:
- + /
2.关系运算符: > < == != >= <=
3.逻辑运算符:! && ||、
4.位运算符:<< >> ~ | ^ &
5.赋值运算符:=及扩展赋值运算符
6.条件运算符:?:
7.逗号运算符:,
8.指针运算符:*和&
9.求字节数运算符:sizeof
10.强制类型转换运算符:(类型)
11.分量运算符:. ->
12.下标运算符:[ ]
13.其他:如函数调用运算符:()
注意:条件运算符是C语言中惟一一个三目(三元)运算符
题四:
用DFS遍历一个无环有向图,并在DFS算法退栈返回时打印相应的顶点,则输出的顶点序列是( )。
正确答案: A 你的答案: B (错误)
逆拓扑有序
拓扑有序
无序的
无法确定
解答:
BFS使用队列,正拓扑序列类似于队列的特征(先进先出)
DFS使用栈,逆拓扑序列类似于栈的特点(先进后出)
题五:
enum string{
x1,
x2,
x3=10,
x4,
x5,
} x;
函数外部访问x等于什么?
正确答案: C 你的答案: B (错误)
5
12
0
随机值
解答:
枚举变量是全局变量的情况下, 枚举值的缺省值是0,不是枚举的第一个值。 其他情况,其值是不定的,而且不限定于所列出的枚举值
题六:
struct st
{
int *p;
int i;
char a;
};
int sz=sizeof(struct st);
如下C程序,在64位处理器上运行后sz的值是什么?
正确答案: C 你的答案: F (错误)
24
20
16
14
13
12
解答:
考点:1.struct的对齐原则,注意不同的编译器有不同的效果。
2。不同的数据类型在32位和64位下所占字节的区别
32位编译器:

  char :1个字节
   char*(即指针变量): 4个字节(32位的寻址空间是2^32, 即32个bit,也就是4个字节。同理64位编译器)
  short int : 2个字节
  int: 4个字节
  unsigned int : 4个字节
  float: 4个字节
  double: 8个字节
  long: 4个字节
  long long: 8个字节
  unsigned long: 4个字节

64位编译器:

  char :1个字节
  char*(即指针变量): 8个字节
  short int : 2个字节
 int: 4个字节
  unsigned int : 4个字节
  float: 4个字节
  double: 8个字节
  long: 8个字节
  long long: 8个字节
  unsigned long: 8个字节

此处指针先占用8字节。int占用4字节,满足要求不用补齐,char占用一个字节,同时总的字节数必须满足8的倍数即16

你可能感兴趣的:(ubuntu,数据结构,指针,算法,队列,数据结构)