百一测评 - Java经典面试题 带答案 下载本文

内容发布更新时间 : 2024/5/17 9:58:43星期一 下面是文章的全部内容请认真阅读。

职业技能题库&在线云笔试平台http://www.101test.Com {

vectordata;

ifstreamin(\if ( !in) {

cout<<\exit(1); } int temp; while (!in.eof()) { in>>temp;

data.push_back(temp); }

in.close(); //关闭输入文件流 Order(data);

ofstream out(\if ( !out) {

cout<<\exit(1);

第13页

职业技能题库&在线云笔试平台http://www.101test.Com }

for ( i = 0 ; i

30. [编程] 链表题:一个链表的结点结构

struct Node { intdata ; Node *next ; };

typedefstruct Node Node ;

已知链表的头结点head,写一个函数把这个链表逆序 ( Intel) 参考答案:Node * ReverseList(Node*head) //链表逆序 {

if ( head == NULL || head->next == NULL ) returnhead; Node *p1 = head ; Node *p2 = p1->next ; Node *p3 =p2->next ; p1->next = NULL ; while ( p3 != NULL ) {

第14页

职业技能题库&在线云笔试平台http://www.101test.Com p2->next = p1 ; p1 = p2 ; p2 = p3 ; p3 = p3->next ; }

p2->next = p1 ; head = p2 ; return head ; }

31. [编程]已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序。(保留

所有结点,即便大小相同)

参考答案:Node *Merge(Node *head1 , Node *head2) {

if ( head1 == NULL) return head2; if ( head2 == NULL) return head1 ; Node *head = NULL ; Node*p1 = NULL; Node *p2 = NULL;

if ( head1->data < head2->data )

第15页

职业技能题库&在线云笔试平台http://www.101test.Com {

head = head1 ; p1 = head1->next; p2 = head2 ; } else {

head = head2 ; p2 = head2->next ; p1 = head1 ; }

Node *pcurrent = head ;

while ( p1 != NULL && p2 != NULL) {

if ( p1->data <= p2->data ) {

pcurrent->next = p1; pcurrent = p1 ; p1 = p1->next ; } else

第16页