| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 757 人关注过本帖
标题:[求助]我这个单链表程序一执行删除操作就非法操作!大家帮我看看!!
只看楼主 加入收藏
fancyleo
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2005-5-29
收藏
 问题点数:0 回复次数:0 
[求助]我这个单链表程序一执行删除操作就非法操作!大家帮我看看!!

我这个单链表程序一执行删除操作就非法操作!大家帮我看看!! 快交作业了!!急!!!

#include<iostream.h> #include<stdlib.h> class List; //List类的前视声明 class Node { friend class List; //将List类声明为Node类的友元 private: //私有成员 int data; Node *next; }; class List { public: List() //成员函数 { head=NULL; cnt=0; } void count(); //计算结点个数 void insert(int x); void remove(); void display(); Node *head; //定义链表头结点,数据成员 int cnt; }; void List::count() { cout<<"The Length of the Linklist is "<<cnt<<endl; } void List::insert(int x) //后插法向链表插入元素 { cout<<"Please Input the Data you want to Insert(Type 0 to Finish):"; cin>>x; while (x!=0) { Node *currPtr=new Node; //建立一个新结点,并使用指针currPtr指向它 Node *tempPtr; //定义临时指针 cnt++;//计数加一 if(!currPtr) { cout<<"Out Of Memory"<<endl; } currPtr->data=x;//将x赋给指针currPtr指向结点的data currPtr->next=NULL;//将NULL赋给指针currPtr指向结点的next if(head==NULL) //检测是否是空表 head=currPtr; else { tempPtr=head; while(tempPtr->next!=NULL) tempPtr=tempPtr->next; tempPtr->next=currPtr; } cout<<"Please Input the Data you want to Insert(Type 0 to Finish):"; cin>>x; } } void List::display()//输出链表中的数据 { if(!head) cout<<"The LinkList is empty!"<<endl; else{ cout<<"The Node in the LinkList are: "; int i=0; Node *currPtr=head; while(i<cnt) { cout<<" ["<<i<<"] "<<currPtr->data<<"->"; currPtr=currPtr->next; i++; } cout<<endl; } } void main() { List list; list.count(); list.display(); int x(NULL); list.insert(x); list.count(); list.display(); }
搜索更多相关主题的帖子: 单链 删除 
2005-05-29 22:08
快速回复:[求助]我这个单链表程序一执行删除操作就非法操作!大家帮我看看!!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.040646 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved