社区
新手乐园
帖子详情
请教各位高手和大虾们~~~~~~~~~~~~~~~~~~~
sunfengasd
2006-11-10 09:21:42
类对链表的处理封装~!~!~!~!~!希望详细指点~~~~~~~~~~~~~~~~
小弟再次谢谢了~!~!~!~!~!
...全文
198
8
打赏
收藏
请教各位高手和大虾们~~~~~~~~~~~~~~~~~~~
类对链表的处理封装~!~!~!~!~!希望详细指点~~~~~~~~~~~~~~~~ 小弟再次谢谢了~!~!~!~!~!
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
everestsun
2006-12-27
打赏
举报
回复
STL
#include<list>
using namespace std;
list<class_type> LIST;
ReverseEngineering
2006-12-24
打赏
举报
回复
收藏了!
sunfengasd
2006-11-10
打赏
举报
回复
太强了~!~!~!
我花点时间看懂
谢谢~!~!~!
huangyangman
2006-11-10
打赏
举报
回复
不服不行
hailongchang
2006-11-10
打赏
举报
回复
雁南飞:
你手头收藏的代码还真多呀
飞哥
2006-11-10
打赏
举报
回复
其实你要找链表类?
很多的
http://www.baidu.com/s?ie=gb2312&bs=%C1%B4%B1%ED%C0%E0&sr=&z=&cl=3&f=8&wd=%C1%B4%B1%ED+%C0%E0&ct=0
飞哥
2006-11-10
打赏
举报
回复
#include "./include/include.h"
//-----------------------------------------------------------
// Construct
//-----------------------------------------------------------
template <class Type>
ListNode<Type>::ListNode():link(NULL){}
//--------------------------------------------------------------
template <class Type>
ListNode<Type>::ListNode(const Type&item):data(item),link(NULL){}
//-----------------------------------------------------------
template <class Type> //当前节点插入一个节点
void ListNode<Type>::InsertAfter(ListNode<Type> *p)
{
p->link=link;
link=p;
}
//--------------------------------------------------------------
template <class Type> //建立一个新节点
ListNode<Type> * ListNode<Type>::GetNode(const Type& item,ListNode<Type> *next=NULL)
{
ListNode<Type> *newnode=new ListNode<Type>(item);
newnode->link=next;
return newnode;
}
//--------------------------------------------------------------
template <class Type> //删除当前节点的下一个节点
ListNode<Type> * ListNode<Type>::RemoveAfter()
{
ListNode<Type> * tempptr=link;
if(link==NULL)
{
return NULL;
}
link=tempptr->link;
return tempptr;
}
//--------------------------------------------------------------
template <class Type>
List<Type>::~List()
{
MakeEmpty();
delete first;
}
//--------------------------------------------------------------
template <class Type>
void List<Type>::MakeEmpty()
{
ListNode<Type> *q;
while(first->link!=NULL)
{
q=first->link;
first->link=q->link;
delete q;
}
last=first;
}
//--------------------------------------------------------------
template <class Type>
int List<Type>::Length() const
{
ListNode<Type>*p=first->link;
int count=0;
while(p!=NULL)
{
p=p->link;
count++;
}
return count;
}
//--------------------------------------------------------------
template <class Type>
ListNode<Type> * List <Type>::Find(Type value)
{
ListNode<Type> *p=first->link;
while(p!=NULL && p->data!=value)
{
p=p->link;
}
return p;
}
//--------------------------------------------------------------
template <class Type>
ListNode<Type> *List<Type>::Find(int i)
{
if(i<-1)
{
return NULL;
}
if(i==-1)
{
return first;
}
ListNode<Type> *p=first->link;
int j=0;
while(p!=NULL && j<i)
{
p=p->link;
j=j++;
}
return p;
}
//--------------------------------------------------------------
template <class Type>
int List<Type>::Insert(Type value,int i)
{
ListNode<Type> *p=Find(i-1);
if(p==NULL)
{
return 0;
}
ListNode<Type> * newnode=GetNode(value,p->link);
if(p->link==NULL)
{
last=newnode;
}
p->link=newnode;
return 1;
}
//--------------------------------------------------------------
template <class Type>
Type *List<Type>::Remove(int i)
{
ListNode<Type> *p=Find(i-1),*q;
if(p==NULL || p->link==NULL)
{
return NULL;
}
q=p->link;
p->link=q->link;
Type value=new Type(q->data);
if(q==last)
{
last=p;
}
delete q;
return &value;
}
//--------------------------------------------------------------
template <class Type>
Type *List<Type>::Get(int i)
{
ListNode<Type> *p=Find(i);
if(p==NULL || p==first)
{
return NULL;
}
else
{
return &p->data;
}
}
//--------------------------------------------------------------
//文件结束
//////////////////////////////////////////////////////////////////////////
飞哥
2006-11-10
打赏
举报
回复
#ifndef __LIST_H
#define __LIST_H
#include <stdio.h>
//-----------------------------------------------------------
// ListNode Class
//-----------------------------------------------------------
template <class Type> class List; //前视的类定义
template <class Type> class ListNode //链表节点类的定义
{
friend class List<Type>; //List类作为友元类定义
public:
ListNode(); //不给数据的构造函数
ListNode(const Type&item); //给数据的构造函数
ListNode<Type> * NextNode() //给出当前节点的下一个节点地址
{
return link;
}
void InsertAfter( ListNode<Type> * p); //当前节点插入
ListNode<Type> * GetNode(const Type&item,ListNode<Type> * next);//建立一个新节点
ListNode<Type> * RemoveAfter(); //删除当前节点的下一个节点
private:
Type data; //数据域
ListNode<Type> *link; //链指针域
};
//-----------------------------------------------------------
// List Class
//-----------------------------------------------------------
template <class Type> class List //单链表类定义
{
public:
List(const Type & value) //构造函数
{
last=first=new ListNode<Type>(value);
}
~List(); //析构函数
void MakeEmpty(); //将链表置为空表
int Length() const; //计算链表的长度
ListNode<Type> * Find(Type value); //在链表中搜索含数据value的结点
ListNode<Type> * Find(int i); //搜索链表中第i个元素的地址
int Insert(Type value,int i); //将元素value插入在链表中第i个位置
Type * Remove(int i); //将链表中的第i个元素删去
Type * Get(int i); //取出链表中的第i个元素
private:
ListNode<Type>*first,*last; //链表的表头指针,表尾指针
};
//-----------------------------------------------------------
#endif
新手上路~
请教
各位
大虾
~~~
请教
~
请教
~
请问各位我对ASP很有兴趣~但是我是个新手~很多东西都不懂~我应该学什么先呢?还有我想
请教
下ASP和ASP.net有什么不同的地方~请各位
高手
教下我可以吗?
java中import jxl.报错_用jxl.jar包运行失败,
请教
java
高手
,尤其用这个包处理Excel文件的
大虾
们,谢谢了!...
请教
各位java
高手
,在网上下载了jxl.jar,放在了jdk目录下的%JAVA_HOME%jre/lib/ext目录下,并在classpath中加了%JAVA_HOME%jre/lib/ext/jxl.jar,调式一段代码,编译通过,但在运行.cl...
请教
各位 java
高手
,在网上下载了jxl.jar,放在了jdk目录下的%JAVA_HOME%jre/lib/ext目录下,并在classpat...
天线开路短路检测原理_
请教
各位
大虾
,怎么实现 天线的开路和短路的检测?...
请教
各位
大虾
,怎么实现 天线的开路和短路的检测?oldghost1999 Post at 2011/5/29 10:46:00如题:天线的开路和短路的检测原理和电路,十分感谢!!!oldghost1999 Post at 2011/5/29 10:47:17
高手
请指点,谢谢!hemyname Post at 2011/5/31 15:03:33原理不清楚。。反正是校准cable线。。。RF50...
java ocx调用_java调用ocx控件问题!~急~~~急~~急~~!
郁闷憋了一天,第一次用java调用ocx控件问题,出现了一打一打的问题,在这里想
请教
高手
。。。我现在的情况是这样的:我用普通html页面编写就可以把摄像头的录像信息给读出来,但是换成jsp文件就不行了,并且在服务器上运行本地硬盘可以运行的.html文件,就发现不能掉出图像信息了,这个是什么问题啊。。。急~~下面是index.html文件读取摄像头的信息代码:监控信息Index.html页面上ocx...
关于在linux中显示汉字的问题
请教
大虾
(转)
关于在linux中显示汉字的问题
请教
大虾
(转)[@more@]关于在linux中显示汉字的问题
请教
大虾
文字各位好:在下昨天安装了redhat 10.0 (FDORE CORE 1.0,好像就是这么显示的吧)发现有这么几个问题
请教
...
新手乐园
33,311
社区成员
41,784
社区内容
发帖
与我相关
我的任务
新手乐园
C/C++ 新手乐园
复制链接
扫一扫
分享
社区描述
C/C++ 新手乐园
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章