回覆列表
  • 1 # 使用者834195712159

    程式碼示例:

    #include<stdio.h>

    #include<malloc.h>

    typedef

    struct

    node

    {

    int

    data;/*data代表成績分數*/

    struct

    node

    *next;

    }LNode,*LinkList;

    LinkList

    Creat(void)/*建立連結串列,結束標誌為當輸入的資料為0!*/

    {

    LinkList

    H,p1,p2;

    int

    n;

    n=0;

    p1=p2=(LinkList)malloc(sizeof(LNode));

    printf("輸入資料:");

    scanf("%d",&p1->data);

    H=NULL;

    while(p1->data!=0)

    {

    n=n+1;

    if(n==1)

    H=p1;

    else

    p2->next=p1;

    p2=p1;

    p1=(LinkList)malloc(sizeof(LNode));

    scanf("%d",&p1->data);

    }

    p2->next=NULL;

    return(H);

    }

    LinkList

    Sort(LinkList

    SL)/*遞增排序函式:入口引數:連結串列的頭指標,此為連結串列中的排序函式*/

    {

    LinkList

    p,q;

    int

    temp;

    for(p=SL;p!=NULL;p=p->next)

    {

    for(q=p->next;q!=NULL;q=q->next)

    {

    if(p->data>q->data)

    {

    temp=q->data;

    q->data=p->data;

    p->data=temp;

    }

    }

    }

    return

    SL;

    }

    int

    main()

    {

    LinkList

    L,S,K;

    L=Creat();

    printf("初始化的單鏈表資料序列為:\n");

    for(S=L;S!=NULL;S=S->next)

    printf("%d

    ",S->data);

    Sort(L);

    printf("\n按遞增順序排序後的序列為:\n");

    for(K=L;K!=NULL;K=K->next)

    printf("%d==>",K->data);

    return

    0;

    }

  • 中秋節和大豐收的關聯?
  • 小孩眼下長斑是什麼原因?