线性链表的结点数(程序)
来源:百度知道 编辑:UC知道 时间:2024/06/04 15:09:38
字符存入线性链表中,在计算线性链表的长度
我执行到循环语句的时候调不出来了,请各位达人帮忙看一看!
#include <iostream.h>
#include <stdio.h>
class linklist
{
public:
char data;
linklist *next;
};
int changdu(linklist *head) //计算链表长度
{
int count=0;
linklist *p;
p=head;
while (p!=NULL)
count++;
return count;
}
void main()
{
int dis;
char ch;
//初始化链表头节点
linklist *head=new linklist;
linklist *p=head;
head->next=NULL;
linklist *q;
cout <<" 请输入若干字符:"<<endl;
cin>>ch;
// cout<<ch;
//插入节点,直到遇到#结束
while (ch!='#')
{
q=new linklist;
q->data=ch;
q->next=NULL;
p->next=q;
p=q;
cout<<p->data<<endl;
cin>>ch;
}
cout<<"*
我执行到循环语句的时候调不出来了,请各位达人帮忙看一看!
#include <iostream.h>
#include <stdio.h>
class linklist
{
public:
char data;
linklist *next;
};
int changdu(linklist *head) //计算链表长度
{
int count=0;
linklist *p;
p=head;
while (p!=NULL)
count++;
return count;
}
void main()
{
int dis;
char ch;
//初始化链表头节点
linklist *head=new linklist;
linklist *p=head;
head->next=NULL;
linklist *q;
cout <<" 请输入若干字符:"<<endl;
cin>>ch;
// cout<<ch;
//插入节点,直到遇到#结束
while (ch!='#')
{
q=new linklist;
q->data=ch;
q->next=NULL;
p->next=q;
p=q;
cout<<p->data<<endl;
cin>>ch;
}
cout<<"*
int changdu(linklist *head) //计算链表长度
{
int count=0;
linklist *p;
p=head;
while (p++!=NULL) //原来你写的是while(p!=NULL),这样指针p一直不改变,当然无法退出循环了。
count++;
return count;
}
int changdu(linklist *head) //计算链表长度
{
int count=0;
linklist *p;
p=head;
while (p!=NULL)
{
count++;
p=p->next; //在这里加一行。你的指针P没动。
}
return count;
}
while (p!=NULL)
{
count++;
//加一行,P指向下一结点
p=p->next;
}