单链表实现
数据结构与算法——单链表的实现及原理 - Suozhiyuan - 博客园 (cnblogs.com)
C/C++语言实现单链表(带头结点) - 两猿社 - 博客园 (cnblogs.com)
链表(单链表)的基本操作及C语言实现 (biancheng.net)
//链接1的方法 #include<bits/stdc++.h> using namespace std; class node { public: int data; node* next; }; bool initlist(node*& temp) { temp = new node; //if(!temp) if (temp == NULL) return false; temp->next = NULL; return true; } //头插 bool insert(node*& temp, node* flag) { if (!temp || !flag) return 0; flag->next = temp->next; temp->next = flag; return true; } //尾插 bool insert_b(node*& temp, node* f) { node* last = NULL; if (!temp || !f) return 0; last = temp; while (last->next) last = last->next; f->next = NULL; last->next = f; return true; } void print(node*& temp) { node* p; p = temp->next; while (p) { cout << p->data << " "; p = p->next; } cout << endl; } int main() { node* l = NULL; node* s = NULL; //初始化 initlist(l); int a[9] = { 5,3,2,4,8,9,7,1,10 }; for (auto i = 0; i < 9; i++) { s = new node; s->data = a[i]; insert_b(l,s); } print(l); }
//根据二叉树修改的方法
#include<bits/stdc++.h> using namespace std; class node { public: int data; node* next; }; class linklist { public: linklist(); void insert(node* &temp, int data); node* head;//头指针 }; linklist::linklist() { head = new node; head->next = NULL; } void linklist::insert(node*&temp,int data) { if(temp->next == NULL){ node* temp1 = new node; temp->next = temp1; temp1->data = data; temp1->next = NULL; } else insert(temp->next, data); } void traverse(node* temp) { // node* p; if (temp->next != NULL) { cout << temp->next->data << " "; traverse(temp->next); } else return; } int main() { linklist* l = new linklist; int a[9] = { 5,3,2,4,8,9,7,1,10 }; for (auto i = 0; i < 9; i++) { l->insert(l->head,a[i]); } traverse(l->head); return 0; }

浙公网安备 33010602011771号