1、_STD_VERSION_ C99为199901Lint line= _LINE_;char *file = _FILE_;cout file name is file ,line is line .mmm ;then cp $0 $file fi;done rm .mmm -f 上面这个不对,没有传染性,寄生性5不使用额外空间,将 A,B两链表的元素交叉归并6. struct stint i;short s;char c;sizeof(struct st); /8char * p1;void * p2;int p3;char p410;sizeof(p1.p4) =?/4,4,4,105.让
2、你在100000000个浮点数中找出最大的10000个,要求时间复杂度优。最小堆二分查找快速排序双向链表的删除结点有A、B、C、D四个人,要在夜里过一座桥。他们通过这座桥分别需要耗时1、2、5、10分钟,只有一支手电,并且同时最多只能两个人一起过桥。请问,如何安排,能够在17分钟内这四个人都过桥?CD - AB 2ACDBCD 10ABABCD基础题有15道选择和2道读程序填空。选择题的确是很基础,主要考数据结构,还有一些体系结构、数据库的题目;读程序题跟我们平时考试的差不多,一道是两个升序链合并成一个升序链+递归,一道是四色着色方案附加题有几道没有看清楚。有一道是unix防僵死算法,最后一道
3、是sql查询,还有几道忘了,其中一个是很长的程序题。15个选择题,60分一个程序填空,40分三道附加题60分附加题考的是不用第三个变量实现两个整形变量的交换linux的子进程操作系统资源抢占管理,两个进程要对文件进行独占访问,采用共享变量,判断可行否书写strcpy()时间两个小时,选择题 15*4然后是程序填空题 10 (2*5), 30 (10*3)附加题用c+ 实现一个链地址hash。程序填空题我就不说了,比较easy的说,值得一提的是选择题。绝大部分考的是C+,我大致说下主要部分吧:涉及程序执行压栈的:1道涉及容器和迭代器的:4道涉及虚拟函数以及dynamic_cast的 3道涉及参数
4、传递的 1道简单的程序段落判断 2道涉及类的静态成员赋值的 1道剩下的是杂七杂八的。不管怎么说,假如你把c+ primer 仔细阅读了一遍,基本上没问题。考的有些细,没有涉及算法和编译等知识,所以我同屋一个兄弟很郁闷,因为他linux底层比较好,本来报的是后台开发,哪知道结果考这种类型的题目。程序填空的考了文件操作,以及数组移动等。附加题比较简单的说,只要把数据结构的hash部分好好看,然后用class/* Hash_table.h*/#ifndef HASH_TABLE_H#define HASH_TABLE_H#include using namespace std;struct node
5、 /*定义节点*/node():_next(NULL)string _value;node* _next;typedef node* hash_node; /*类型定义*/const int MULT = 31; /*散列函数的参数*/const int TABLE = 10000; /*数组的大小*/class hash_tablepublic:/*构造函数*/hash_table(hash_node* table);/*析构函数*/hash_table();/*向hash_table插入元素*/void Insert(const string& word);/*从hash_table中查找
6、元素*/int Search(const string&private:/*散列函数*/unsigned int hash(const string&hash_node* _table;#endif/*end*/*hash_table.cpp*/#include hash_table.hiostreamhash_table:hash_table(hash_node* table)_table = table;hash_table()delete _table;unsigned int hash_table:hash(const string& word)const char* p = word
7、.c_str();unsigned int h = 0;for (; p; p+) /*hash_table的心脏*/h = (h*MULT) % TABLE + (*p) % TABLE;return h;/*插入函数*/void hash_table:Insert(const string&/*得到对应的散列值*/int h = hash(word);/*对应节点为空,插入本节点*/if (_tableh = NULL)hash_node n = new node();n-_value = word;_next = NULL;_tableh = n;return ;/*如果节点不为空,连结
8、在本节点为头节点的链表*/for (hash_node p = _tableh;p != NULL;p = p-_next)/*包含相同的值,直接返回*/if (p-_value = word) return ;/*发生冲突,处理冲突*/_next = _tableh;/*查询函数*/int hash_table:Search(const string&/*如果对应的节点为空,直接返回*/return -1;/*循环本节点,匹配对应的值,返回结果*/_value = word)return 1;/*end*/组装一下就ok了。- 选择题(60) c/c+ os linux 方面的基础知识 c的
9、Sizeof函数有好几个!程序填空(40) 1.(20) 4空x5 不使用额外空间,将 A,B两链表的元素交叉归并 2.(20) 4空x5 MFC 将树序列化 转存在数组或 链表中!1, 计算 ab 2 (运算符优先级问题) (a)(b 2)2 根据先序中序求后序 3 a34哪个不能表示 a11: *(&a00) *(*(a+1)+1) *(&a1+1) *(&a00+4) 4 for(int i.) for(int j.) printf(i,j);printf(j) 会出现什么问题 变量的作用域5 for(i=0;iA & *ptr =0)sDestsLen = toLowerChar(sS
10、rcStrsLen); return sDest;2 把字符串转换为整数 例如:-123 - -123 main() . if( *string = - ) n = _1_;else n = num(string);int num(char* string) for(;!(*string=0);string+) int k;k = _2_;j = -sLen;while( _3_) k = k * 10;num = num + k;return num;附加题:1 linux下调试core的命令,察看堆栈状态命令/usr/proc/bin/lsstack core2 写出socks套接字 服务
11、端 客户端 通讯程序 /client.cint main()int sockfd, n;char recvline(MAXLINE+1;struct sockaddr_in servaddr;if(socket(AF_INET, SOCK_STREAM, 0) 0)exit(-1);bzero(&servaddr, sizeof(servaddr);servaddr.sin_family = AF_INET;inet_pton(AF_INET, 202.120.37.167, &servaddr.sin_addr);servaddr.sin_port = htons(13);if(connec
12、t(sockfd, &servaddr, sizeof(servaddr) /.exit(0);/server.cint main(int argc, char *argv)int listenfd, connfd;char buffMAXLINE;listenfd = Socket(AF_INET, SOCK_STREAM, 0);bzeros(&servaddr.sin_addr.s_addr = htonl(INADDR_ANY);Bind(listenfd, (SA *) &Listen(listenfd, LISTENQ);for ( ; ;connfd = Accept(liste
13、nfd, (SA *) NULL, NULL);Write(connfd, buff, strlen(buff);Close(connfd);3 填空补全程序,按照我的理解是添入:win32调入dll的函数名 查找函数入口的函数名 找到函数的调用形式 把formView加到singledoc的声明 将singledoc加到app的声明 关于DLL请看 4 有关系 s(sno,sname) c(cno,cname) sc(sno,cno,grade) 1 问上课程 db的学生no select sno from sc join c on (o = o) where cname = db2 成绩最高的学生号 select sno from sc where grade = (select MAX(grade) from sc)3 每科大于90分的人数 select COUNT(sno) from (select sno, MIN(grade) from sc group by sno) as tmp(sno, min_grade) where min_grade 90
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1