链表操作 发表于 2016-02-04 | 分类于 数据结构 | 阅读次数: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100#include<iostream>using namespace std;class Node {public: int data; Node* next; Node(int _data) { data = _data; next = NULL; }};class LinkList {private: Node* head;public: LinkList() { head = NULL; } void insert(Node *node, int index) { if (head == NULL) { head = node; return; } if (index == 0) { node->next = head; head = node; return; } Node *current_node = head; int count = 0; while (current_node->next != NULL && count < index - 1) { current_node = current_node->next; count++; } if (count == index - 1) { node->next = current_node->next; current_node->next = node; } } void output() { if (head == NULL) { return; } Node *current_node = head; while (current_node != NULL) { cout << current_node->data << " "; current_node = current_node->next; } cout << endl; } void delete_node(int index) { if (head == NULL) { return; } Node *current_node = head; int count = 0; if (index == 0) { head = head->next; delete current_node; return; } while (current_node->next != NULL && count < index -1) { current_node = current_node->next; count++; } if (count == index - 1 && current_node->next != NULL) { Node *delete_node = current_node->next; current_node->next = delete_node->next; delete delete_node; } } void reverse(){ if(head==NULL){ return; } Node *next_node,*current_node; current_node=head->next; head->next=NULL; while(current_node!=NULL){ next_node=current_node->next; current_node->next=head; head=current_node; current_node=next_node; } }};int main() { LinkList linklist; for (int i = 1; i <= 10; i++) { Node *node = new Node(i); linklist.insert(node, i - 1); } linklist.output(); linklist.delete_node(3); linklist.output(); linklist.reverse(); linklist.output(); return 0;} 打个小广告 欢迎加入我的小专栏「基你太美」一起学习。 打赏 本文作者: 布兰柯基 本文链接: https://blankj.com/2016/02/04/linklist/ 版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 许可协议。转载请注明出处!