| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1083 人关注过本帖
标题:链表插入程序错在哪里-——为什么循环是死循环 请高手赐教
取消只看楼主 加入收藏
hnyanyafei
Rank: 1
来 自:洛阳
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-6-21
结帖率:100%
收藏
 问题点数:0 回复次数:1 
链表插入程序错在哪里-——为什么循环是死循环 请高手赐教
#include<stdlib.h>
#include<iostream>
using namespace std;
typedef struct node{
    int data;
    struct node *next;
}Lnode,*linknode;
Lnode *creat(int n){
Lnode *H,*p,*s;
cout<<"链表已创建请连续输入链表内数据"<<endl;
int x,i;
H=(Lnode*)malloc(sizeof(Lnode));
p=H;
for(i=0;i<n;i++){
        cin>>x;
        s=(Lnode*)malloc(sizeof(Lnode));
        s->data=x;
        s->next=NULL;
        p->next=s;
        p=s;
}
p->next=NULL;
return H;//返回头结点
}//创建链表
/*输出链表*/
Lnode*print(Lnode *H){
    Lnode *p,*s;
    p=H->next;
    while(p)
    {
    cout<<p->data<<" ";
    s=p->next;
    p=s;
    }
    cout<<endl;
    return 0;
}//链表输出函数
linknode init(linknode la,linknode lb,int n)
{    linknode p,q;
    int f=1,i;
    p=la;
    q=p->next;
    if(!n)
      p->next=lb;
    else
    {
        for(i=0;i<n;i++)
        {
            if(q->data>=lb->data)
            {
             q->next=lb;
             lb->next=q;
             i=0;//i等于以表示已经插入链中
             break;
            }
            else
            {
                p=p->next;
                q=q->next;
            }

        }
       if(i)
        q->next=lb;
    }
 return 0;
}
  

void main ()
{
int x,n;
    Lnode *h,*lb;
    cout<<"请输入链表的长度:";
    cin>>n;
    h=creat(n);//注意指针的引用
     print(h);//指针的正确使用原先写为print(h)造成程序不能调用
    lb=(Lnode*)malloc(sizeof(Lnode));
    cout<<"请输入新节点数据";
    cin>>x;
    lb->data=x;
    cout<<lb->data;
    lb->next=NULL;
    init(h,lb,n);
    print(h);
}
搜索更多相关主题的帖子: 链表 
2008-11-11 22:20
hnyanyafei
Rank: 1
来 自:洛阳
等 级:新手上路
帖 子:10
专家分:0
注 册:2008-6-21
收藏
得分:0 
谢了
谢谢了我以后会注意程序注释的!
2008-11-17 22:05
快速回复:链表插入程序错在哪里-——为什么循环是死循环 请高手赐教
数据加载中...
 
   



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

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