| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 340 人关注过本帖
标题:小弟做的一个把链表排序的算法,始终不知道哪里出错,求大侠啊
只看楼主 加入收藏
ksws0191053
Rank: 2
等 级:论坛游民
帖 子:30
专家分:32
注 册:2010-12-3
结帖率:42.86%
收藏
 问题点数:0 回复次数:4 
小弟做的一个把链表排序的算法,始终不知道哪里出错,求大侠啊
程序代码:
#include<stdio.h>
#include<malloc.h>
#define OK 1
#define ERROR 0
#define ElemType int

typedef struct LNode
{
    int key;
    struct LNode *next;
}LNode,*LinkList;

int CreateLink_L(LinkList L,int n)
{
    LinkList p,q;
    int i;
    ElemType e;
    q=(LinkList)malloc(sizeof(LNode));
    q=L;
    for(i=0;i<n;i++)
    {
        scanf("%d",&e);
        p=(LinkList)malloc(sizeof(LNode));
        p->key=e;
        q->next=p;
        q=p;
        q->next=NULL;
    }
    return OK;
}

int LoadLink_L(LinkList L)
{

 LinkList p = L->next;

 if(!L)printf("The List is empty!"); 

 else

 {
     printf("The LinkList is:");
     while(p!=NULL)  
     {
        printf("%d ",p->key); 
        p=p->next;   
     }

 }

 printf("\n");

 return OK;
}

int Paixu(LinkList L)
{
    LinkList s,t,p,q;
    t=L;
    while(t!=NULL)\\经过我调试发现,程序始终在这里无限循环
    {
        p=L;
        q=p->next;
        while(q&&((t->key)<(q->key)))
        {
            p=q;
            q=p->next;
        }
        s=t;
        t=t->next;
        p->next=s;
        s->next=q;
    }
    if(!t)
        return OK;
    else
        return ERROR;

}

int main()
{
    int n;
    LinkList head;
    head=(LinkList)malloc(sizeof(LNode));
    head->next=NULL;
    printf("请输入一个数字n,建立n个结点的链表\n");
    scanf("%d",&n);
    CreateLink_L(head,n);
    LoadLink_L(head);
    Paixu(head);
    LoadLink_L(head);
    return 0;
}


老师让我们做的,将此链表的记录按照key递增的顺序进行就地排序。这次是真不行了,我调试了很久,大脑疲劳了,来求助一下各位大侠,算法应该是没有问题的,不知道错在哪
搜索更多相关主题的帖子: color 
2011-09-14 21:48
ksws0191053
Rank: 2
等 级:论坛游民
帖 子:30
专家分:32
注 册:2010-12-3
收藏
得分:0 
在线等,求救啊
2011-09-14 21:49
ksws0191053
Rank: 2
等 级:论坛游民
帖 子:30
专家分:32
注 册:2010-12-3
收藏
得分:0 
小错误,思想是对的,实施起来有点小问题,自己给解决了,既然没有人帮我,自力更生
2011-09-15 00:21
embed_xuel
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
等 级:贵宾
威 望:58
帖 子:3845
专家分:11385
注 册:2011-9-13
收藏
得分:0 
注意规范, malloc要判断是否成功,用完要free

总有那身价贱的人给作业贴回复完整的代码
2011-09-15 07:16
其实、不想说
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:122
专家分:156
注 册:2011-3-3
收藏
得分:0 
好像链表的建立都有问题
2011-09-15 12:31
快速回复:小弟做的一个把链表排序的算法,始终不知道哪里出错,求大侠啊
数据加载中...
 
   



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

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