| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 975 人关注过本帖
标题:[求助]请教一个链表问题
取消只看楼主 加入收藏
zmyy214
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-26
收藏
 问题点数:0 回复次数:4 
[求助]请教一个链表问题

用c++编写一个函数:从给定的链表A中删除元素值在x到y(x<=y)间的所有元素.
谢谢了!!

搜索更多相关主题的帖子: 链表 
2006-09-26 22:16
zmyy214
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-26
收藏
得分:0 

没人理.....


2006-09-28 14:02
zmyy214
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-26
收藏
得分:0 
真是惭愧....我要好好学习!!

2006-10-07 22:51
zmyy214
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-26
收藏
得分:0 

#include<iostream.h>
template <class T>
struct Node
{
T data;
Node<T> *next; //此处<T>也可以省略
};

template <class T>
class LinkList
{
public:
LinkList( ); //建立只有头结点的空链表
LinkList(T a[ ], int n); //建立有n个元素的单链表
~LinkList(); //析构函数

void PrintList( );//遍历单链表,按序号依次输出各元素
void del_x_y(T x,T y);
private:
Node<T> *first; //单链表的头指针
};
template <class T>
LinkList<T>:: LinkList( )
{
first=new Node<T>; first->next=NULL;
}
template <class T>
LinkList<T>:: LinkList(T a[ ], int n)
{
first=new Node<T>; //生成头结点
Node<T> *r,*s;
r=first; //尾指针初始化
for (int i=0; i<n; i++)
{
s=new Node<T>; s->data=a[i]; //为每个数组元素建立一个结点
r->next=s; r=s; //插入到终端结点之后
}
r->next=NULL; //单链表建立完毕,将终端结点的指针域置空
}
template <class T>
LinkList<T>:: ~LinkList()
{
}
template <class T>
void LinkList<T>::PrintList( )
{
Node<T> *p;
p=first->next;
while (p)
{
cout<<p->data<<endl;
p=p->next;
}

}
template <class T>
void del_x_y(T x,T y){
Node<T> *p; int j;
p=first ; j=0; //工作指针p初始化
while(p){
p=p->next;
j++;
}
if (!p || !p->next) throw "位置"; //结点p不存在或结点p的后继结点不存在
else if( p->data >= x && p->data <= y){
Node<T> *q;
q=p->next; //暂存被删结点
p->next=q->next; //摘链
delete q;
}
void main( )
{int r[ ]={1,2,3,4,5};
LinkList <int> b(r,5);
b.PrintList(); //输出单链表所有元素
b.del_x_y(2,4);
b.PrintList();
}


请问,上述程序错在哪里?老是调不好.....谢谢了!


2006-10-08 15:57
zmyy214
Rank: 1
等 级:新手上路
帖 子:14
专家分:0
注 册:2006-9-26
收藏
得分:0 
另外,有必要把del_x_y设置成类的友元函数来调用delete函数吗?如果有,该怎么写?

2006-10-08 15:59
快速回复:[求助]请教一个链表问题
数据加载中...
 
   



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

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