• 编程菜鸟的日记-初学尝试编程-单链表


    //单链表的头插法和尾插法建立,以及直接插入法递增排序

    #include <iostream>

    #include <string>

    #include <stdlib.h>

    #define ElemType int

    using namespace std;

    typedef struct List

    {

        ElemType data;

        struct List *next;

     }List;

    void CreatListF(List *L,ElemType a[],int n)

    {

       List *s;

       L->next=NULL;

       int i;

       for(i=0;i<n;i++)

         {

            s=(List *)malloc(sizeof(struct List));

            s->data=a[i];

            s->next=L->next;

            L->next=s;

           }

    }

    void CreatListR(List *L, ElemType a[],int n)

    {

       List *r,*s;

       L->next=NULL;

       r=L;

       int i;

       for(i=0;i<n;i++)

          {

             s=(List *)malloc(sizeof(struct List));

             s->data=a[i];

             r->next=s;

             r=s;

            }

             r->next=NULL;

    }

    void SortList(List *L)

    {

         List *p=L->next,*q,*r;

         if(p!=NULL)

         {

            r=p->next;

            p->next=NULL;

            p=r;

            while(p!=NULL)

              {

                   r=p->next;

                   q=L;

                   while(q->next!=NULL && q->next->data<p->data)

                    {

                         q=q->next;

                     }

                   p->next=q->next;

                   q->next=p;

                   p=r;

               }

          }

    }

    void Display(List *L)

    {

         List *p=L->next;

          while(p!=NULL)

          {

               cout<<p->data<<" ";

                p=p->next;

            }

         cout<<endl;

    }

    int main()

    {

       List *L1,*L2;

       L1=(List *)malloc(sizeof(struct List));

       L2=(List *)malloc(sizeof(struct List));

       ElemType a[10]={7,6,1,4,9,10,5,8,2,3};

       int n=sizeof(a)/sizeof(ElemType);

       CreatListF(L1,a,n);

       Display(L1);

       CreatListR(L2,a,n);

       Display(L2);

       SortList(L1);

       Display(L1);

       SortList(L2);

       Display(L2);

       system("pause");

       return 0;
    }

     

  • 相关阅读:
    CBR(基于案例的推理)的产生和Roger Schank=Schank教授在他的著作中提出了以“记忆组织包"
    php 设计模式
    php 常用资源
    自然语言处理著作或期刊名称2
    北京师范大学语言学及应用语言学研究生培养方案
    !!! Analysis & Design 很好的汇总+zcl的 UML 体会
    睡眠的方法
    !!!【php100教程】
    机器翻译和自然语言信息处理专业硕士研究生培养方案
    愧薪
  • 原文地址:https://www.cnblogs.com/lynnycy/p/3388011.html
Copyright © 2020-2023  润新知