zoukankan      html  css  js  c++  java
  • 单链表排序

      单链表排序算法,代码如下:

    #include <stdio.h>
    #include <stdlib.h>

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

    void CreateLinkList(LinkList *pHeader, int nLen, int *arr)
    {
      pHeader->next = NULL;
      LinkList *p;
      p = pHeader;
      for (int i = 0; i < nLen; i++)
      {
        LinkList *node = (LinkList*)malloc(sizeof(LinkList));
        node->data = arr[i];
        p->next = node;
        p = node;
      }
      p->next = NULL;
    }

    void SortLinkList(LinkList *pHead)
    {
      LinkList *p = pHead;
      if (p == NULL)
      {
        return;
      }
      LinkList *q = p->next;
      if (q == NULL)
      {
        return;
      }
      LinkList *r = q->next;
      q->next = NULL;
      q = r;
      while(q != NULL)
      {
        r = q->next;
        p = pHead;
        while(p->next != NULL && p->next->data < q->data)
        {
          p = p->next;
        }
        q->next = p->next;
        p->next = q;
        q = r;
      }
    }

    void Display(LinkList *pHead)
    {
      LinkList *p = pHead->next;
      while(p != NULL)
      {
        printf("%d\n", p->data);
        p = p->next;
      }
    }

    int _tmain(int argc, _TCHAR* argv[])
    {
      int a[9] = {3,7,6,5,4,8,1,2};
      LinkList *pHead = (LinkList *)malloc(sizeof(LinkList));
      CreateLinkList(pHead, 8, a);
      SortLinkList(pHead);
      Display(pHead);
      return 0;
    }

  • 相关阅读:
    CH负责内容的两个人——北漂18年(66)
    perl 跨行匹配;
    elk之nginx
    perl 分析binlog 定位错误sql 思路
    rsyslog 日志格式和输出
    rsyslog 定义模板
    rsyslog ~ 波浪号
    过滤器
    rsyslog masg和rawmsg的区别
    金融行业的BI应用分析
  • 原文地址:https://www.cnblogs.com/lzmfywz/p/3000515.html
Copyright © 2011-2022 走看看