注册 登录
编程论坛 C++教室

求助求助,前辈请进

真实的地瓜 发布于 2013-09-24 22:08, 445 次点击
#include<iostream>
using namespace std;
#include<iomanip>

typedef struct LNode
{
    int data;
    struct LNode *next;
}LinkList;

void CreateList(LinkList *&L,int a[],int n)
{
    LinkList *s;int i;
    L=(LinkList *)malloc(sizeof(LinkList));
    L->next=NULL;
    for(i=0;i<n;i++)
    {   s=(LinkList *)malloc(sizeof(LinkList));
        s->data=a[i];
        s->next=L->next;
        L->next=s;
    }
}

void DispList(LinkList *L)
{  LinkList *p=L->next;
   while(p!=NULL);
   {  cout<<p->data;
      p=p->next;
      }
   cout<<endl;
}

void splist(LinkList *&L,LinkList *&L1,LinkList *&L2)
{ LinkList *p=L->next,*q,*r1;
  L1=L;
  r1=L1;
  L2=(LinkList *)malloc(sizeof(LinkList));
  L2->next=NULL;
  while(p!=NULL)
  {  q=p->next;
     r1->next=p;
     r1=p;
     p=q->next;
     q->next=L2->next;
     L2->next=q;
     }
  r1->next=NULL;
}

int main( )
{
    int a[10]={1,-1,2,-2,3,-3,4,-4,5,-5};
    LinkList * L,* L1,* L2;
    CreateList(L,a,10);
    DispList(L);
    cout<<endl;
    splist(L,L1,L2);
    DispList(L1);
    cout<<endl;
    DispList(L2);
    cout<<endl;
    return 0;
}



没有错误,但运行结果没显示,求教!!!!!!
7 回复
#2
yuccn2013-09-25 10:11
调试下看看
#3
xufan2013-09-25 10:13
帮你修改了下
程序代码:
#include<iostream>
using namespace std;
#include<iomanip>

typedef struct LNode
{
    int data;
    struct LNode *next;
}LinkList;

LinkList *CreateList(int a[],int n)
{
    LinkList *s,*L,*head;
    int i;
    head = L=(LinkList *)malloc(sizeof(LinkList));
    L->next=NULL;
    for(i=0;i<n;i++)
    {   s=(LinkList *)malloc(sizeof(LinkList));
    s->data=a[i];
    //modify by admin
    s->next = NULL;
    L->next = s;
    L = s;
//     s->next=L->next;
//     L->next=s;
    }

    return head;
}

void DispList(LinkList *L)
{  LinkList *p=L->next;
while(p!=NULL)//modify by admin
{  cout<<p->data<<"\t";
p=p->next;
}
cout<<endl;
}

void splist(LinkList *&L,LinkList *&L1,LinkList *&L2)
{ LinkList *p=L->next,*q,*r1;
L1=L;
r1=L1;
L2=(LinkList *)malloc(sizeof(LinkList));
L2->next=NULL;
while(p!=NULL)
{  q=p->next;
r1->next=p;
r1=p;
p=q->next;
q->next=L2->next;
L2->next=q;
}
r1->next=NULL;
}

int main( )
{
    int a[10]={1,-1,2,-2,3,-3,4,-4,5,-5};
    LinkList * L,* L1,* L2;
    L = CreateList(a,10);
    DispList(L);
    cout<<endl;
    splist(L,L1,L2);
    DispList(L1);
    cout<<endl;
    DispList(L2);
    cout<<endl;
    return 0;
}


#4
真实的地瓜2013-09-25 17:25
回复 2楼 yuccn
调试也显示没错误
#5
真实的地瓜2013-09-25 17:33
回复 3楼 xufan
师姐好厉害,不过我是个学生,主要是验证一下书上给的各个算法,改掉Create函数意义也就不大了啊
#6
peach54602013-09-25 20:00
以下是引用真实的地瓜在2013-9-25 17:25:10的发言:

调试也显示没错误

如果调试也没错误,那你发帖在问什么?
#7
真实的地瓜2013-09-25 20:19
回复 6楼 peach5460
运行的时候什么显示也没有
#8
peach54602013-09-25 20:43
瞟了一眼,creat貌似写错了,你调试看看吧...
1