标题:对一个链表进行排序,只对链表排序。
取消只看楼主
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
结帖率:100%
已结贴  问题点数:20 回复次数:1 
对一个链表进行排序,只对链表排序。
/* Note:Your choice is C IDE */
#include "stdio.h"
typedef struct str
{char data;
    struct str *next;
}node;
node* create(int *n)
{node *head,*p,*q;
    char ch;
      head=q=(node *)malloc(sizeof(node));
    while((ch=getchar())!='\n')
    {p=(node *)malloc(sizeof(node));
        p->data=ch;
        q->next=p;
        q=p;
        (*n)++;
    }
    q->next=NULL;
    return head;
}

jh(node *head,int n)
{int i,j,a,b=0;
    node *p,*q,*r;
    for(i=0;i<n/2;i++)
    {a=0;r=head;
        while(a<b)
        r=r->next;
        p=r->next;
        q=p->next;
        while(q->next!=NULL)
        {r->next=q;
            p->next=q->next;
            q->next=p;
            p=r->next;q=p->next;
            r=r->next;p=p->next;q=q->next;
            }
        }
    }
void main()
{node *head,*p;
    int n=0;
    head=create(&n);
    jh(head,n);
    p=head->next;
    while(p)
    {printf("%3c",p->data);
        p=p->next;
        }
   
}
我一个老师给我出的题,就是让我编写一个程序,对链表进行排序,但是不用对里面的值进行排序的方法排序,而是对链表的链接来排序。
搜索更多相关主题的帖子: include return choice create 
2017-05-26 21:32
何小达
Rank: 2
等 级:论坛游民
威 望:1
帖 子:24
专家分:70
注 册:2017-5-25
得分:0 
回复 2楼 renkejun1942
你说的方法我知道,但是我的老师是让我只用对链表的链接进行不排序,不用里面的值。
2017-05-26 21:46



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-477400-1-1.html




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

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