目录
283. 输入某班级学生的姓名、分数,并对分数进行降幕排列并输岀;
284. 随即产生一字符串,每次产生的字符串内容、长度都不同
285. 设X[l..n]和Y[l..n]为两个数组每个都包含n个已排好序 的数。请使用伪代码给岀一个求数组X和Y中所有2n个元 素的中位数的O(lgn)时间的算法。
286. static casto^ynamic casto^onst castojeinterpret cast。的各自作用和使用环境?
290. 程序员规范中要求不要写岀类似(++)+「++)或f(++i;i++这 样的代码,请说明原因。
295. 如果在构造函数中调用memset(this, 0, sizeof(*this))来初 始化内存空间,有什么问题吗?
296. struct{chara[0];}的作用?有什么好处?
297. TCP的nagle算法和延迟ack,还有CORK呢?他们有什么 好处? 一起用会有什么效果?你觉得可以有什么改进?
300. 请求页面置换策略有哪些方式?他们的区别是什么?各自有什么算法解决?
281. 信号处理方式?
(1) 执行默认处理方式
(2) 忽略处理
(3) 执行用户自定义的函数
282. 红黑树如何插入和删除的?
插入:
(1) 如果父节点为黑色,直接插入不处理
(2) 如果父节点为红色,叔叔节点为红色,则父节点和叔叔节点变为黑色,祖先节 点变为红色,将节点操作转换为祖先节点
(3) 如果当前节点为父亲节点的右节点,则以父亲结点为中心左旋操作
(4) 如果当前节点为父亲节点的左节点,则父亲节点变为黑色,祖先节点变为红色, 以祖先节点为中心右旋操作
删除:
(1) 先按照排序二叉树的方法,删除当前节点,如果需要转移即转移到下一个节点
(2) 当前节点,必定为这样的情况:没有左子树。
(3) 删除为红色节点,不需要处理,直接按照删除二叉树节点一样
(4) 如果兄弟节点为黑色,兄弟节点的两个子节点为黑色,则将兄弟节点变为红色, 将着色转移到父亲节点
(5) 如果兄弟节点为红色,将兄弟节点设为黑色,父亲结点设为红色节点,对父亲 结点进行左旋操作
(6) 如果兄弟节点为黑色,左孩子为红色,右孩子为黑色,对兄弟节点进行右旋操 作
(7) 如果兄弟节点为黑色,右孩子为红色,则将父亲节点的颜色赋值给兄弟节点, 将父亲节点设置为黑色,将兄弟节点的右孩子设为黑色,对父亲节点进行左旋
283. 输入某班级学生的姓名、分数,并对分数进行降幕排列并输岀;
Sinclude <iostream> using namespace std;
struct Node
{
char name[100]; int score;
Node *next;
void show(Node *head)
{
while(head)
{
cout<<head->name«" "<<head->score<<endl;
head = head->next;
int linkLen(Node *head)
int len = 0; while(head)
len++;
head = head->next;
return len;
void sort(Node *head)
=linkLen(head); j=len-l; j>0; j--)
Node "tempHead = head;
for(int i=0; i<j; i++)
if(tempHead->score> tempHead->next->score)
char tempName[100];
int tempScore;
strcpy(tempName,tempHead->next->name);
strcpy(tempHead->next->name,
tempHead->name);
strcpy(tempHead->name, tempName); tempScore = tempHead->next->score; tempHead->next->score = tempHead->score; tempHead->score = tempScore;
int main()
char name[100];
int score;
Node *head = NULL; Node "tail = NULL; scanf("%s %d”, name, while(score != -1) Node *temp = new Node; strcpy(temp->name, name); temp->score = score; temp->next = NULL;
if(head == NULL)
{
head = temp;
tail = temp;
}
else
{
tail->next = temp; tail = temp;
}
scanf("%s %d", name, &score);
}
show(head);
sort(head);
show(head);
return 0;
}
284. 随即产生一字符串,每次产生的字符串内容、长度都不同
ffinclude <iostream>
using namespace std;
int