农夫四季胡扬扬:用数据结构中的单链表求逆置的编程

来源:百度文库 编辑:杭州交通信息网 时间:2024/04/28 13:24:49
要说明每一步的作法,编程要有主函数
高手快快帮忙!!!!!!!!!!!!!!!!!!!

用数据结构中的单链表求逆置的编程:

#include"iostream"
using namespace std;

struct node{
int data;
node *next;
};

node *p=NULL;

void ins(int x) //将输入的数采用头插法放入链表中
{
node *q=new node;
q->data=x;
q->next=p;
p=q;
}

void rev(int i) //将链表逆置并输出
{
node *m; //因为用了头插法放入数据所以输出的应与输入的相同
int x;
m=p;
p=NULL;
int j;
while(m!=NULL)
{
node *n=m->next;
m->next=p;
p=m;
m=n;
}
cout<<"逆置链表后的结果:";
for(j=0;j<i;j++)
{
x=p->data;
cout<<x;
p=p->next;
}

}

void main()
{
int i;
int a[4];
cout<<"please inpute data(4个数):\n";
for(i=0;i<4;i++)
cin>>a[i];
for(i=0;i<4;i++)
ins(a[i]);
rev(i);
}

程序写的很烂~~~~~~~~~~

谭的那本书上建立链表教学用的,不实用,特别是那个全局变量~

谢谢楼上的解答!