日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

基于visual Studio2013解决面试题之0402合并升序链表并去重

發布時間:2025/3/14 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于visual Studio2013解决面试题之0402合并升序链表并去重 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.



題目



解決代碼及點評

/*兩個升序鏈表合并,并要求去掉重復元素 */ #include <iostream> using namespace std;class LinkNode { public:int _val;LinkNode* _next;LinkNode(int val, LinkNode* next = NULL) :_val(val), _next(next){} };class Link { public:LinkNode* _head;Link() : _head(NULL){}/* 構造有序鏈表函數 */void add(int val){/* 如果頭節點為空,則直接賦值頭結點 */if (_head == NULL){_head = new LinkNode(val);return;}/* 循環找合適的位置,將新的val插入到鏈表中 */ for (LinkNode* pos = _head; ; pos = pos->_next){/* 如果找到末尾,還沒有合適位置,那么新的val插入到尾部 */if (pos->_next == NULL){pos->_next = new LinkNode(val);break;}/* 如果某個位置的_val > val,那么新的val應該插入到該位置 */else if (pos->_next->_val > val){LinkNode* node = new LinkNode(val);node->_next = pos->_next;pos->_next = node;break;}}}/* 合并并去除重復節點 */void merge(const Link& link){LinkNode* pos = _head;// 遍歷所有link節點for (LinkNode* node = link._head; node; node = node->_next){// 找到合適的位置進行插入操作for (;; pos = pos->_next){/* 如果值相等,那么直接丟棄 */if (pos->_val == node->_val)break;/* 如果找到末尾,則把新節點放到末尾 */if (pos->_next == NULL){pos->_next = new LinkNode(node->_val);pos = pos->_next;break;}/* 如果找到中間某個位置,那么新節點要插入 */else if (pos->_next->_val > node->_val){pos->_next = new LinkNode(node->_val, pos->_next);pos = pos->_next;break;}}}}/* 打印所有節點 */void print(){for (LinkNode* node = _head; node; node = node->_next){cout << node->_val << " ";}cout << endl;cout << "****************" << endl;} };int main() {Link l1;l1.add(1);l1.add(3);l1.add(5);l1.add(10);l1.print();Link l2;l2.add(1);l2.add(5);l2.add(4);l2.add(3);l2.add(6);l2.print();l1.merge(l2);l1.print();system("pause"); }


代碼下載及其運行

代碼下載地址:http://download.csdn.net/detail/yincheng01/6704519

解壓密碼:c.itcast.cn


下載代碼并解壓后,用VC2013打開interview.sln,并設置對應的啟動項目后,點擊運行即可,具體步驟如下:

1)設置啟動項目:右鍵點擊解決方案,在彈出菜單中選擇“設置啟動項目”


2)在下拉框中選擇相應項目,項目名和博客編號一致

3)點擊“本地Windows調試器”運行


程序運行結果






轉載于:https://www.cnblogs.com/new0801/p/6177368.html

總結

以上是生活随笔為你收集整理的基于visual Studio2013解决面试题之0402合并升序链表并去重的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。