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

要将建立原链表的一个倒序链表,写了下面这个,但运行不了,请各位帮忙看一下~~~~~~~有可能的话提示一下如何遍历一次就能完成~~~谢谢



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

}

搜索更多相关主题的帖子: 链表 node headee int next 
2007-05-28 01:07
zhourunfa
Rank: 1
等 级:新手上路
帖 子:2
专家分:0
注 册:2007-5-11
收藏
得分:0 

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

}

2007-06-02 19:03
lzq_wise1
Rank: 1
等 级:新手上路
帖 子:109
专家分:0
注 册:2007-1-24
收藏
得分:0 

把上面的修改了下,可以实现链表的倒序遍历,但我感觉不是很好,不知道是不是你想要的

#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();
}


漫游在指针的世界里
2007-06-05 12:44
快速回复:链表问题
数据加载中...
 
   



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

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