c++小白由于上课没好好听寒假复习了一下链表
ps:本文章部分内容参考<https://blog.csdn.net/weixin_46629453/article/details/125643226?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522170580814716800222897948%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=170580814716800222897948&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~sobaiduend~default-1-125643226-null-null.142^v99^pc_search_result_base5&utm_term=%E5%8D%95%E9%93%BE%E8%A1%A8%E4%B9%8B%E5%A4%B4%E6%8F%92%E6%B3%95%E5%92%8C%E5%B0%BE%E6%8F%92%E6%B3%95&spm=1018.2226.3001.4187>
-
头插法(带头结点)
void create_head(node *&head) { head = new node;//新建头结点并初始化 head->next = NULL; int n; cin >> n; while (n) { node* p;//创建新结点 p= new node ; p->data = n; p->next = head->next;//核心代码 head->next = p;//核心代码 cin >> n; } }
-
尾插法(带头结点)
void create_tail(node *&head) { head = new node;//创建头结点并初始化 head->next = NULL; node* r; r = head; int n; cin >> n; while (n) { node* p; p = new node;//创建新结点 p->data = n; p->next = NULL; r->next = p;//核心代码 r = p;//r始终为尾结点 cin >> n; } }
-
遍历并输出链表中的数据
void show( node *head) { while (head->next!=NULL) { cout << head->next->data << " "; head = head->next; } cout << endl; }