分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
/*Sort both list from small to big. And then use the following code.*/#include <iostream>using namespace std;struct Node{ char data; Node* next;};Node* create(){ Node* head = NULL; Node* rear = head; Node* p; // The pointer points to new created node. char tmp; do { cout << "Please input integer or char '#':"; cin >> tmp; if(tmp != '#') { p = new Node; p->data = tmp; p->next = NULL; if(head == NULL) { head = p; } else { rear->next = p; } rear = p; } } while(tmp != '#'); return head;}void print(Node* head){ Node* p = head; if(head != NULL) { do { cout << p->data << ' '; p = p->next; } while(p != NULL); } cout << endl;}Node* del(Node* l1, Node* l2){ if(!l1 || !l2) { return NULL; } Node *p = new Node; p->next = l1; Node *pL1 = l1, *pL2 = l2, *head = p; while(pL1 && pL2) { if(pL1->data < pL2->data) { pL1 = pL1->next; p = p->next; } else if(pL1->data > pL2->data) { pL2 = pL2->next; } else { pL1 = pL1->next; p->next = pL1; } } l1 = head->next; return l1;}int main(){ cout << "Please input the first list:" << endl; Node* l1 = create(); cout << endl << "Please input the second list:" << endl; Node* l2 = create(); cout << endl << "--------------------------" << endl; cout << "The first list is: "; print(l1); cout << "The second list is: "; print(l2); Node* l = del(l1, l2); cout << endl << "The result list is: "; print(l); return 0;}// Output:/*Please input the first list:Please input integer or char '#':1Please input integer or char '#':1Please input integer or char '#':1Please input integer or char '#':1Please input integer or char '#':3Please input integer or char '#':3Please input integer or char '#':3Please input integer or char '#':3Please input integer or char '#':4Please input integer or char '#':5Please input integer or char '#':6Please input integer or char '#':6Please input integer or char '#':6Please input integer or char '#':7Please input integer or char '#':7Please input integer or char '#':8Please input integer or char '#':8Please input integer or char '#':8Please input integer or char '#':9Please input integer or char '#':9Please input integer or char '#':9Please input integer or char '#':9Please input integer or char '#':#Please input the second list:Please input integer or char '#':1Please input integer or char '#':2Please input integer or char '#':5Please input integer or char '#':5Please input integer or char '#':5Please input integer or char '#':7Please input integer or char '#':7Please input integer or char '#':7Please input integer or char '#':7Please input integer or char '#':7Please input integer or char '#':9Please input integer or char '#':#--------------------------The first list is: 1 1 1 1 3 3 3 3 4 5 6 6 6 7 7 8 8 8 9 9 9 9The second list is: 1 2 5 5 5 7 7 7 7 7 9The result list is: 3 3 3 3 4 6 6 6 8 8 8*/