设为首页收藏本站

新微赢技术网

 找回密码
 注册
搜索
热搜: 回贴
查看: 1919|回复: 2
打印 上一主题 下一主题

链表问题

[复制链接]
跳转到指定楼层
1#
发表于 2009-11-6 01:49:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
要将建立原链表的一个倒序链表,写了下面这个,但运行不了,请各位帮忙看一下~~~~~~~有可能的话提示一下如何遍历一次就能完成~~~谢谢



#include<iostream>
using namespace std;
struct node
{
int data;
node*next;
};
void main()
{
node*headee=NULL;
node*p;
for(int i=1;i<=5;i++)
{
node*s=new node;
s->data=i;
if(headee==NULL)headee=s;
else p->next=s;
p=s;
}
p->next=NULL;
node*m=headee;
while(m!=NULL)
{
cout<<m->data<<endl;
m=m->next;
}

node*head=NULL;
node*q;
node*kao;
for(int k=1;k<=5;k++)
{
kao=headee;
while(1)
{
if(kao->next->next==NULL)
{
node*pp=new node;
pp->data=kao->next->data;
node*t=kao->next;
kao->next=NULL;
delete t;
if(head==NULL)head=pp;
else q->next=pp;
q=pp;
cout<<head->data<<endl;
}
else kao=kao->next;
}
}
q->next=NULL;
cout<<head->data<<endl;
while(head)
{
cout<<head->data<<endl;
head=head->next;
}
}
2#
发表于 2009-11-6 01:49:09 | 只看该作者
#include<iostream.h>
//using namespace std;这一行不要
struct node
{
int data;
node * next;
};
void main()
{
node*head=new node;
head->next=NULL;
node*pp;
for(int i=1;i<=6;i++)
{
node*s=new node;
s->data=i;
if(head->next==NULL)head->next=s;
else pp->next=s;
pp=s;
}
pp->next=NULL;
node*m=head->next;
cout<<"The string of number you have entered is:"<<endl;
while(m!=NULL)
{
cout<<m->data<<endl;
m=m->next;
}
node*p=head->next;
node*q=p->next;
p->next=NULL;
node*r=q->next;
while(1)
{q->next=p;
p=q;
q=r;
if(r->next==NULL)
break;
r=r->next;
}
q->next=p;
head->next=q;
cout<<"NOW,THE RESULT"<<endl;
p=head->next;
while(p)
{
cout<<p->data<<endl;
p=p->next;
}
}
回复 支持 反对

使用道具 举报

3#
发表于 2009-11-6 01:49:11 | 只看该作者
把上面的修改了下,可以实现链表的倒序遍历,但我感觉不是很好,不知道是不是你想要的

#include<iostream.h>
//#include"print.h"
struct node
{
int data;
node *next;

};
void LinkList()
{
node *headee=NULL;
node *p;
for(int i=1;i<=5;i++)
{
node *s=new node;
s->data=i;
if(headee==NULL)
headee=s;
else
p->next=s;
p=s;
}
p->next=NULL;
node *m=headee;
while(m!=NULL)
{
cout<<m->data<<endl;
m=m->next;
}
}
void LinkList1()
{
node *headee=NULL;
node*p;
for(int i=1;i<=5;i++)
{
node *s=new node;
s->data=i;
if(headee==NULL)
headee=s;
else
p->next=s;
p=s;

}
node *real=new node;
real=p;
p->next=NULL;
real->next=p;
(real->next)->next=headee;
cout<<real->data<<endl;
for(i=0;i<4;i++)
{ for(int j=0;j<4;j++)
{real=real->next;}
cout<<real->data<<endl;
}
}
void main()
{
LinkList();
LinkList1();
}
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

申请友链|小黑屋|最新主题|手机版|新微赢技术网 ( 苏ICP备08020429号 )  

GMT+8, 2024-11-19 12:17 , Processed in 0.095513 second(s), 9 queries , Gzip On, Memcache On.

Powered by xuexi

© 2001-2013 HaiAn.Com.Cn Inc. 寰耽

快速回复 返回顶部 返回列表