链表增删节点
来源:互联网 发布:淘宝卖家订单能删除吗 编辑:程序博客网 时间:2024/05/18 22:56
#include <iostream>#include <stdlib.h>using namespace std;struct node{int data;node* next=NULL;//结构体内带函数是C++语法 C语言中不能这样用node(){}node(int x,node* p=NULL){data = x;next = p;}};class List{private:node* head;public:List(){head = NULL;}bool insert(int i, int& n);bool remove(int i);bool search(const int i);bool change(int i, int& n);void display(){node* p = head;while (p){cout << p->data << " ";p = p->next;}cout << endl;}};bool List::insert(int i, int& n){if (head == NULL || i == 0){node* newnode = new node();if (newnode == NULL){cerr << "Memoey Error" << endl;exit(1);}newnode->data = n;newnode->next = head;head = newnode;}else{node* current = head;//找到第i个节点for (int j = 1; j < i; j++){if (current == NULL) break;elsecurrent = current->next;}if (current == NULL && head != NULL){cerr << "Too short" << endl;return false;}else{node* newnode = new node();if (newnode == NULL){cerr << "Memoey Error" << endl;exit(1);}newnode->data = n;newnode->next = current->next;current->next = newnode;}}return true;}bool List::remove(int i){if (head == NULL || i < 0){cerr << "Error" << endl;exit(1);}if (i <= 1){node* del = head;head = head->next;delete del;}else{node* current = head;//找到第i-1个节点for (int j = 1; j < i - 1; j++){if (current == NULL){cerr << "Too short" << endl;return false;}elsecurrent = current->next;}node* del = current->next;current->next = del->next;delete del;}return true;}int main(){List l;for (int i = 1; i <= 20; i++){l.insert(0, i);}l.display();l.remove(2);l.display();l.remove(0);l.display();//l.remove(20);Errorgetchar();}
0 0
- 链表增删节点
- 链表的增删改查(带头节点)
- xml节点 增删改
- 节点 增删改
- pxc增删节点
- 红黑树的增删节点
- DOM之节点增删
- Redis集群增删节点
- 增删改节点
- web增删节点
- 节点增删改
- 节点获取与增删
- tinyxml 增删查 节点 子节点
- DOM 节点属性,增删改节点属性
- mfc 增删改 xml 节点
- javascript增删改查节点
- 节点的增删改查
- 节点的增删改查
- Android 9 patch 图片 (.9.png 格式图片) 学习记录
- ubuntu上搭建svn服务器
- [cocos2d-x] 为精灵划定轨迹路线
- ucosII信号量---实现较快数据采集与较慢数据处理的同步
- Mybatis3入门之注解方式
- 链表增删节点
- 阿里巴巴面试题汇总
- 关于把图片内容绘制到view中
- struct(在C与C++中的区别)
- 黑马程序员 —— 面向对象(第六天)
- Unit6--problem4--多文件组织多个类的程序
- 进制存储和运算(1)——有符数与无符数
- 第六周项目3用多文件组织多个类的程序
- SGU 194 无源无汇上下界网络流