单链表的基本操作
来源:互联网 发布:uuu网络加速器下载 编辑:程序博客网 时间:2024/06/07 12:16
#include <iostream>using namespace std;class LinkNodeOfInt{ public: int data; LinkNodeOfInt *link; LinkNodeOfInt(const int &a,LinkNodeOfInt *ptr) { data=a; link=ptr; } LinkNodeOfInt() { } };class ListOfint{ public: LinkNodeOfInt *head; LinkNodeOfInt *tail; int size; ListOfint() { head=new LinkNodeOfInt(0,NULL); tail=head; size=0; } ListOfint(const ListOfint &list) { head=new LinkNodeOfInt(0,NULL); LinkNodeOfInt *cur=head->link; LinkNodeOfInt *othercur=list.head->link; int i=0; size=list.size; while(othercur!=NULL) { LinkNodeOfInt *s=new LinkNodeOfInt(othercur->data,NULL); if(i==0) { head->link=s; cur=head->link; } else { cur->link=s; cur=cur->link; i++; } othercur=othercur->link; } } void insertTotail(int value) { LinkNodeOfInt *p=tail; p->link=new LinkNodeOfInt(value,NULL); tail=p->link; } void inserttoHead(int value) { LinkNodeOfInt *p=head->link; LinkNodeOfInt *s=new LinkNodeOfInt(value,p); head->link=s; } void prt_list() { LinkNodeOfInt *p=head->link; while (p) { cout<<p->data<<endl; p=p->link; } } LinkNodeOfInt* setPos(int pos) { if(pos==-1) { return head; } int count=0; LinkNodeOfInt *p=head->link; while(p!=NULL&&count< pos){ p=p->link; count++; } return p; } bool insertPos(int i,int value) { LinkNodeOfInt *p,*q; if(p==setPos(i-1)==NULL) { cout<<"the operation is illegal"; return false; } q=new LinkNodeOfInt(value,p->link); p->link=q; if(p==tail) { tail=q; } size++; return true; } bool deletePos(int i) { LinkNodeOfInt *p ,*q; if(p=setPos(i-1)==tail||p==tail) { cout<<"the operation is illegal"; return false; } q=p->link; if(q==tail) { tail=p; p->link=NULL; delete q; } else if(q !=NULL) { p->link=q->link; delete q; } size--; return true; } int getSize() { return size; }};
0 0
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作!
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- 单链表的基本操作
- leetcode学习篇五——Add Digits
- [LeetCode-383]Ransom Note(java)
- https协议相关
- Why do I choose to major in software engineering?
- 一个程序员的进化史-第十一章
- 单链表的基本操作
- DbUnit数据库测试之备份与还原
- 2016CCPC东北地区大学生程序设计竞赛-Minimum’s Revenge
- 洛克菲勒给儿子的38封信(前14封选摘)
- 3938-Ray, Pass me the dishes!
- POJ 1061 青蛙的约会 扩展欧几里德- 猪都懂啦 = =
- 数据库-关系型数据库
- GIT的Push和Pull,强制Pull覆盖本地命令
- Servlet案例四