| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 747 人关注过本帖
标题:[原创]2个链表的连接与转置
只看楼主 加入收藏
leiyuzi
Rank: 1
等 级:新手上路
帖 子:101
专家分:0
注 册:2005-3-27
收藏
 问题点数:0 回复次数:0 
[原创]2个链表的连接与转置
#include <iostream.h>
class List;
class Item
{
public:
 friend class List;
private:
 Item(int d=0){data=d;next=0;}
 Item *next;
 int data;
};
class List
{
public:
 List(){list=0;}
 List(int d){list=new Item(d);}
 int print();
 int insert(int d=0);
 int append(int d=0);
 void cat(List &il);
 void reverse();
 int length();
private:
 Item * end();
 Item * list;
};
int List::print()
{
 if(list==0)
 {
  cout<<"empty\n";
  return 0;
 }
 cout<<"(";
 int cnt=0;
 Item *pt=list;
 while(pt)
 {
  if(++cnt%40==1&&cnt!=1)
   cout<<endl;
  cout<<pt->data<<" ";
  pt=pt->next;
 }
 cout<<")\n";
 return cnt;
}
int List::insert(int d)
{
 Item *pt=new Item(d);
 pt->next=list;
 list=pt;
 return d;
}
int List::append(int d)
{
 Item *pt=new Item(d);
 if(list==0)
  list=pt;
 else
  (end())->next=pt;
 return d;
}
Item *List::end()
{
 Item *prv,*pt;
 for(prv=pt=list;pt;prv=pt,pt=pt->next)
  ;
 return prv;
}
void List::cat(List&il)
{
 Item *pt=il.list;
 while(pt)
 {
  append(pt->data);
  pt=pt->next;
 }
}
void List::reverse()
{
 Item *pt,*prv,*tmp;
 prv=0;
 pt=list;
 list=end();
 while(pt!=list)
 {
  tmp=pt->next;
  pt->next=prv;prv=pt;pt=tmp;
 }
 list->next=prv;
}
int List::length()
{
 int cnt=0;
 Item *pt=list;
 for(;pt;pt=pt->next,cnt++)
  ;
 return cnt;
}
void main()
{
 List list1;
 list1.print();
 for(int i=10;i<18;i++)
  list1.insert(i);
 cout<<"list1:";
 list1.print();
 List list2;
 for(i=15;i<20;i++)
  list2.append(i);
 cout<<"list2:";
 list2.print();
 cout<<"list1 length:"<<list1.length()<<endl;
 list2.cat(list1);
 list2.print();
 list2.reverse();
 cout<<"list2:";
 list2.print();
 cout<<"list2 length:"<<list2.length()<<endl;
}
搜索更多相关主题的帖子: 链表 
2005-06-30 21:39
快速回复:[原创]2个链表的连接与转置
数据加载中...
 
   



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

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