点击这里给我发消息 点击这里给我发消息

C语言链表的创建与排序

添加时间:2013-12-7
    相关阅读: C语言
include<stdio.h>
    #include<stdlib.h>
    typedef struct struct {
    int value;
    struct struct *next;
    }ts;
    main()
    {
    #define n 9
    int a[n],i;
    ts *head,*p;
    ts *createlink(int *,int);
    void sort(ts **);
    randomize();
    for(i=0;i a=random(9);
    head=createlink(a,n);
    for(p=head;p;p=p->next)
    printf(\"%-2d\",p->value);
    putchar(\'\\n\');
    sort(&head);
    for(p=head;p;p=p->next)
    printf(\"%-2d\",p->value);
    getchar();
    }
    void sort(ts **h) /* 选择排序算法 */
    {
    ts *h1,*p,*q,*r,*s;
    h1=p=(ts *)malloc(sizeof(ts));
    p->next=*h;
    while(p->next) {
    q=p->next;
    r=p;
    while(q->next) {
    if(q->next->valuenext->value)
    r=q;
    q=q->next;
    }
    if(r!=p) {
    s=r->next;
    r->next=s->next;
    s->next=p->next;
    p->next=s;
    }
    p=p->next;
    }
    *h=h1->next;
    free(h1);
    }
    ts *createlink(int *a,int n)
    {
    int i;
    ts *h,*p;
    h=null;
    for(i=n;i>0;i--) {
    p=(ts *)malloc(sizeof(ts));
    p->value=a[i-1];
    p->next=h;
    h=p;
    }
    return h;
    }
相关C语言链表的创建与排序

咨询热线:020-85648757 85648755 85648616 0755-27912581 客服:020-85648756 0755-27912581 业务传真:020-32579052
广州市网景网络科技有限公司 Copyright◎2003-2008 Veelink.com. All Rights Reserved.
广州商务地址:广东省广州市黄埔大道中203号(海景园区)海景花园C栋501室
= 深圳商务地址:深圳市宝源路华丰宝源大厦606
研发中心:广东广州市天河软件园海景园区 粤ICP备05103322号 工商注册