会员登录 用户名: 密码: 登录 新会员注册 [找回密码]
当前位置:编程论坛 >> C/S程序开发专区 >> C/C++编程论坛 >> [求助]这段代码给以帮我加注解吗?万分感谢!!!!
首页
中资源
  发表一个新主题  发表一个新投票  回复主题 您是本帖的第 187 个阅读者浏览上一篇主题  刷新本主题   树形显示贴子 浏览下一篇主题
 * 贴子主题:[求助]这段代码给以帮我加注解吗?万分感谢!!!! 悬赏分50 [提问中] 报告本帖给版主  显示可打印的版本  把本贴打包邮递  把本贴加入论坛收藏夹  发送本页面给朋友  把本贴加入IE收藏夹 
 karlxu 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:12
  专家分:0
  提问帖:3/0
  回答帖:1
  总帖数:7
  经验值:68
  注 册:2008-11-18
给karlxu发送一个短消息 把karlxu加入好友 查看karlxu的个人资料 搜索karlxu在C/C++编程论坛的所有贴子 引用回复这个贴子 回复这个贴子楼主

发贴心情 [求助]这段代码给以帮我加注解吗?万分感谢!!!!

// 链表.cpp :

//written by JYK

#include "stdafx.h"
#include<iostream>
using namespace std;
template <class Type> class List;
template <class Type> class ListNode
{
friend class List<Type>;
public:
ListNode();
ListNode(const Type & x);
static ListNode<Type> *creat(Type value,ListNode<Type> *next);
private:
Type data;
ListNode<Type> *link;
};
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(int i);
         int insert(Type data,int i);
Type *remove(int i);
Type *get(int i);
void print();
private:
ListNode<Type> *first,*last;
};

template <class Type>ListNode<Type>::ListNode()
{
link=NULL;
}

template <class Type>ListNode<Type>::ListNode(const Type &x)
{
data=x;
link=NULL;
}

template <class Type>ListNode<Type>* ListNode<Type>::creat(Type value, ListNode<Type> *next)
{
ListNode<Type> *p=new ListNode<Type>(value);
p->link=next;
return p;
}

template <class Type> List<Type>::~List()
{
MakeEmpty();
delete first;
}

template<class Type>void List<Type>::MakeEmpty()
{
ListNode<Type> *p;
while(first->link!=NULL)
{
       p=first->link;
       first->link=p->link;
       delete p;
}
last=first;
}

template <class Type>int List<Type>::length()const
{
int count=0;
ListNode<Type> *p=first->link;
while(p!=NULL)
{
       p=p->link;
       count++;
}
return count;
}

template <class Type>ListNode<Type>* List<Type>::Find(int i)
{
int count=0;
if(i<-1)
       return NULL;
if(i==-1)
       return first;
ListNode<Type> *p=first->link;
while(p!=NULL&&count<i)
{
       p=p->link;
       count++;
}
return p;
}

template <class Type>int List<Type>::insert(Type data,int i)
{
ListNode<Type> *p=Find(i-1);
if(p==NULL)
       return 0;
ListNode<Type> *newnode=ListNode<Type>::creat(data,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;
if(q==last)
       last=p;
Type *temp=new Type(q->data);
delete q;
return temp;
}

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;
}

template <class Type>void List<Type>::print()
{
ListNode<Type> *p=first->link;
while(p!=NULL)
{
       cout<<p->data<<' ';
       p=p->link;
}
cout<<endl;
}
int _tmain(int argc, _TCHAR* argv[])
{
List <int> a(10);
for(int i=0;i<10;i++)
       a.insert(i,i);
cout<<"length:"<<a.length()<<endl;
         a.print();
cout<<"get(5):"<<*(a.get(5))<<endl;
a.remove(3);
a.print();
a.insert(88,6);
a.print();
char b[]="abcdefghijkmn";
List<char> m('$');
for(int i=0;i<12;i++)
       m.insert(b[i],i);
cout<<"length:"<<m.length()<<endl;
         m.print();
cout<<"get(5):"<<*(m.get(5))<<endl;
m.remove(3);
m.print();
m.insert('&',6);
m.print();
return 0;
}

发帖:2008-11-22 4:52:00
  鲜花(0)  鸡蛋(0)
 718225250 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:433
  专家分:228
  提问帖:4/4
  回答帖:31
  总帖数:44
  经验值:112
  注 册:2008-9-7
给718225250发送一个短消息 把718225250加入好友 查看718225250的个人资料 搜索718225250在C/C++编程论坛的所有贴子  引用回复这个贴子 回复这个贴子2

发贴心情 

你是自己碰到这个看不懂,还是要用这个啊,呵呵
如果自己写的代码,要别人加注释,不合理啊
如果是从别人那copy来的,请说明一下该代码的目的是什么,要不然别人也难看懂

我不想把电脑当做游戏机

发帖:2008-11-22 13:22:00
 karlxu 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:12
  专家分:0
  提问帖:3/0
  回答帖:1
  总帖数:7
  经验值:68
  注 册:2008-11-18
给karlxu发送一个短消息 把karlxu加入好友 查看karlxu的个人资料 搜索karlxu在C/C++编程论坛的所有贴子 引用回复这个贴子 回复这个贴子3

发贴心情 

以下是引用[i]718225250在2008-11-22 13:22:00[/i]的发言:
你是自己碰到这个看不懂,还是要用这个啊,呵呵
 如果自己写的代码,要别人加注释,不合理啊
 如果是从别人那copy来的,请说明一下该代码的目的是什么,要不然别人也难看懂


你好,是这样的,这段代码是关于链表的,插入,删除。我是看不懂具体的函数部分。谢谢。。。
发帖:2008-11-22 19:24:00
 陆逊伯言 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:9
  专家分:42
  提问帖:9/8
  回答帖:9
  总帖数:30
  经验值:99
  注 册:2008-9-20
给陆逊伯言发送一个短消息 把陆逊伯言加入好友 查看陆逊伯言的个人资料 搜索陆逊伯言在C/C++编程论坛的所有贴子  引用回复这个贴子 回复这个贴子4

发贴心情 

哪里看不懂说下啊 你也给我们个注释啊
发帖:2008-11-22 22:14:00
 karlxu 帅哥哟,离线,有人找我吗?
  
  
  等 级:初出江湖
  积 分:12
  专家分:0
  提问帖:3/0
  回答帖:1
  总帖数:7
  经验值:68
  注 册:2008-11-18
给karlxu发送一个短消息 把karlxu加入好友 查看karlxu的个人资料 搜索karlxu在C/C++编程论坛的所有贴子 引用回复这个贴子 回复这个贴子5

发贴心情 

谢谢大家!!!
template <class Type> class List;
template <class Type> class ListNode
{
friend class List<Type>;
public:
ListNode();
ListNode(const Type & x);
static ListNode<Type> *creat(Type value,ListNode<Type> *next);//这里不懂是什么意思?
private:
Type data;
ListNode<Type> *link;//这里是建立对象吗?不是应该在类的外面建立吗?
};

可以大概的说下find,insert,remove 函数的是怎么运作的吗?
template <class Type>ListNode<Type>* List<Type>::Find(int i)
{
int count=0;
if(i<-1)
       return NULL;
if(i==-1)
       return first;
ListNode<Type> *p=first->link;
while(p!=NULL&&count<i)
{
       p=p->link;
       count++;
}
return p;
}

template <class Type>int List<Type>::insert(Type data,int i)
{
ListNode<Type> *p=Find(i-1);
if(p==NULL)
       return 0;
ListNode<Type> *newnode=ListNode<Type>::creat(data,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;
if(q==last)
       last=p;
Type *temp=new Type(q->data);
delete q;
return temp;
}


发帖:2008-11-23 4:10:00

本主题贴数5,分页:[返回帖子列表] [上一页] [1] [下一页]
 *快速回复:[求助]这段代码给以帮我加注解吗?万分感谢!!!!  [ 回帖是一种美德 :) ]
会员账号 用户名    还没注册?    密码    忘记密码?
内容
  • HTML标签: 不可用
  • UBB标签: 可用
  • 贴图标签: 可用
  • 多媒体标签:可用
  • 表情字符转换:可用
  • 上传图片:不可用
  • 最多15KB
  • 点击表情图即可在帖子中加入相应的表情
                                
    邮件回复 显示签名   [Ctrl+Enter直接提交贴子]

    管理选项锁定 | 解锁 | 提升 | 删除 | 移动 | 固顶 | 总固顶 | 奖励 | 惩罚 | 发布公告