- 1、本文档共11页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
41.文件中有一组整数,要求排序后输出到另一个文件中答案:#i ncludeiostream#i ncludefstreamusing namespace std;void Order(vectorint data) //bubble sort{int count = data.size() ;int tag = false ; // 设置是否需要继续冒泡的标志位for ( int i = 0 ; i count ; i++){for ( int j = 0 ; j count - i - 1 ; j++){if ( data[j] data[j+1]){tag = true ;int temp = data[j] ;data[j] = data[j+1] ;data[j+1] = temp ;}}if ( !tag )break ;}}void main( void ){vectorintdata;ifstream in(c:\data.txt);if ( !in){coutfile error!;exit(1);}int temp;while (!in.eof()){intemp;data.push_back(temp);}in.close(); //关闭输入文件流Order(data);ofstream out(c:\result.txt);if ( !out){coutfile error!;exit(1);}for ( i = 0 ; i data.size() ; i++)outdata ;out.close(); //关闭输出文件流}42.链表题:一个链表的结点结构struct Node{int data ;Node *next ;};typedef struct Node Node ;(1)已知链表的头结点head,写一个函数把这个链表逆序 ( Intel)Node * ReverseList(Node *head) //链表逆序{if ( head == NULL || head-next == NULL )return head;Node *p1 = head ;Node *p2 = p1-next ;Node *p3 = p2-next ;p1-next = NULL ;while ( p3 != NULL ){p2-next = p1 ;p1 = p2 ;p2 = p3 ;p3 = p3-next ;}p2-next = p1 ;head = p2 ;return head ;}(2)已知两个链表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 ){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{pcurrent-next = p2 ;pcurrent = p2 ;p2 = p2-next ;}}if ( p1 != NULL )pcurrent-next = p1 ;if ( p2 != NULL )pcurrent-next = p2 ;return head ;}(3)已知两个链表head1 和head2 各自有序,请把它们合并成一个链表依然有序,这次要求用递归方法进行。 (Autodesk)答案:Node * MergeRecursive(Node *head1 , Node *head2){if ( head1 == NULL )return head2 ;if ( head2 == NULL)return head1 ;Node *head = NULL ;if ( head1-data head2-data ){head = head1 ;head-next = MergeRecursive(head1-next,head2);}else{head = head2 ;he
您可能关注的文档
- 勇进路路灯采购招标文件(含税).doc
- 11软工计算机网络试卷A卷答案-.doc
- 实验14 指针(3).doc
- CString工作原理.docx
- 【医学英语】中医术语3.docx
- 日语50基础音节.docx
- errpt 查看错误日志.docx
- 经营指标核算方法.docx
- 2013年完美世界校园招聘笔试题.docx
- 关于10人龙母攻略几个关键点.docx
- 2023咸阳职业技术学院招聘笔试真题参考答案详解.docx
- 2023四川化工职业技术学院招聘笔试真题及参考答案详解.docx
- 2023哈尔滨职业技术学院招聘笔试真题及参考答案详解.docx
- 2023商洛职业技术学院招聘笔试真题及答案详解1套.docx
- 2023呼伦贝尔职业技术学院招聘笔试真题参考答案详解.docx
- 2023南阳农业职业学院招聘笔试真题参考答案详解.docx
- 2023天津公安警官职业学院招聘笔试真题带答案详解.docx
- 2023年上海电机学院招聘笔试真题参考答案详解.docx
- 2023年四川艺术职业学院招聘笔试真题参考答案详解.docx
- 2023安徽体育运动职业技术学院招聘笔试真题及答案详解一套.docx
文档评论(0)