C++语言之链表_第1页
C++语言之链表_第2页
C++语言之链表_第3页
C++语言之链表_第4页
C++语言之链表_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、C+程序,链表程序#include<iostream>using namespace std;struct Nodeint Data;Node *next;class LinkListNode *head;public:LinkList();void Display();int Getlength();int Locate(int key);/寻找数字并输出位置为int型。int Get(int i);bool Insert(int i,int key);LinkList (int data,int n);bool Delete (int i);bool Set(int i,int

2、 key);bool Deletekey(int key);bool LinkList:Deletekey (int key)Node *p=head;Node *t=head->next;while(t!=NULL )if (t->Data =key)p->next =t->next;delete t;return true;p=t;t=t->next;return false;bool LinkList:Set(int i,int key)Node *p=head;int count=0;while (p=p->next )count+;if (coun

3、t=i)p->Data=key;return true;return false;bool LinkList:Delete (int i)Node *p=head;int count=0;i-;while (p)if(count=i)Node *t=new Node;t=p->next ;if(t=NULL )return false;p->next =t->next ;delete t;return true;count +;p=p->next ;return false ;LinkList:LinkList()head =new Node;head->n

4、ext =NULL;/构造函数,构造了一个没有任何元素,带头结点的链表。LinkList:LinkList (int data,int n)head =new Node;head->next =NULL;/不能直接调用LinkList函数必须要把程序输上。Node *r=head;/将head所指的地址赋给r指针。for(int i=0;i<n;i+)Node *p=new Node ;/定义了一个新的Node指针p。p->Data =data i;/使p的数据为所赋的值 r->next=p;/p指针为r指针后面的一个指针。 r=p;/这里意为让r和p指针都向后一步。r

5、->next =NULL;void LinkList:Display()Node *p=head;/head本身就是一个指针,这个定义说明head所指的地址赋给了P指针,目前二者所指的地址一样。while(p=p->next)!=NULL)cout<<p->Data <<" "cout<<endl;int LinkList:Getlength()Node *p=head ;int i=0;while(p=p->next )!=NULL )i+;return i;int LinkList:Locate(int key

6、)Node *p=head ;int count=0;while(p=p->next )!=NULL )count+;if (p->Data=key)return count;return 0;int LinkList:Get(int i)Node *p= head;int count =0;i-;while(p=p->next)!=NULL )if (count=i)return p->Data;count +;throw "Down dary error"return NULL ;bool LinkList:Insert(int i,int ke

7、y)Node *p=head;int count=0;i-;while (p)if (count=i)Node *t=new Node;t->Data=key;t->next=p->next;p->next =t;return true;count+;p=p->next;return false ;int main()int a=1,2,3,4,5;LinkList Link(a,5);Link .Display ();cout<<Link .Getlength()<<endl;cout<<Link .Get(1)<<endl;cout<<Link .Locate(2)<<endl;Link.Insert (2,99);Link.Display();Link .Delete(3);L

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论