| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 460 人关注过本帖
标题:c++链表的链接
只看楼主 加入收藏
liubj77
Rank: 1
等 级:新手上路
帖 子:1
专家分:0
注 册:2009-11-15
结帖率:0
收藏
已结贴  问题点数:20 回复次数:1 
c++链表的链接
运行出现内存只能为read
#include<iostream.h>
#include<stdlib.h>

typedef struct Node
{
 int num;
 Node *next;
}Node,*Llink;


void output_sort_nodes(Llink head)    //链表的输出
{
 Llink nodeN;

 int i=1;
 nodeN=head;
 while(nodeN->next)
 {
  nodeN=nodeN->next;
  cout<<"第"<<i<<"个结点的数据为:"<<nodeN->num<<'\n';//这里修改了,注意
  i++;
 }
}

Llink insert_sort_node(Llink head,Llink p1)
{
    Llink ppre,pbac;
   
  if(head->next==NULL){
   head->next=p1;
   head=p1;
   return head;
  }
  else if(head->num>p1->num)
      {
          p1->next=head;
          head=p1;
          return head;
      }
      
      ppre=head;
      while(ppre->next)
      {
         
          pbac=ppre->next;
          if(ppre->num<=p1->num&&pbac->num>p1->num)
          {
              ppre->next=p1;
              p1->next=pbac;
              return head;
              
          }
        ppre=ppre->next;
      }

      ppre->next=p1;
      p1->next=0;   //表示插入到链表的末尾
      return head;
  }


Llink create_sort_linked()    //链表创建
{
 Llink p1,head;
 int a;
    head=new Node;
 head->next=NULL;
 cout<<"产生一条有序链表,请输入数据,以-1结束:\n";
 while(1)
 {
  cin>>a;
  if(a==-1)break;
  p1=new Node;
  p1->num=a;
  head=insert_sort_node(head,p1);
 }
 return head;
}

Llink access_sort_node(Llink head,int n)
{
    Llink tmp;
    if(head->next==NULL)
        return 0;
    else
        tmp=head->next;
    for(int i=0;i<n-1;i++)
   
        tmp=tmp->next;
   return tmp;
}
 
 


Llink concat_sort_linked(Llink p1,Llink p2)    //链表的链接
{
 Llink ptm;
 
 for(int i=1;;i++)
 ptm=access_sort_node(p2,i);
 insert_sort_node(p1,ptm);
 

 return p1;
}



void main()
{
 Llink p1,p2,head;
 p1=create_sort_linked();
 if(p1==NULL)
  cout<<"记忆体配置失败:\n";
 cout<<"aaaaaaa";
 output_sort_nodes(p1);
 p2=create_sort_linked();
 if(p2==NULL)
  cout<<"记忆体配置失败:\n";
 output_sort_nodes(p2);
 head=concat_sort_linked(p1,p2);
 output_sort_nodes(head);
}
帮忙看一下什么地方的问题,先谢了
搜索更多相关主题的帖子: 链表 链接 
2009-11-22 21:52
bccnbin2009
Rank: 7Rank: 7Rank: 7
来 自:浙江
等 级:黑侠
帖 子:86
专家分:602
注 册:2009-10-5
收藏
得分:20 
你的链表尾指针没有赋值,比如倒数第二个值的地址为p
那么p->next=NULL;

滨封千里
2009-11-24 15:02
快速回复:c++链表的链接
数据加载中...
 
   



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

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