博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
编程菜鸟的日记-初学尝试编程-单链表
阅读量:5314 次
发布时间:2019-06-14

本文共 1271 字,大约阅读时间需要 4 分钟。

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

#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;

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

转载于:https://www.cnblogs.com/lynnycy/p/3388011.html

你可能感兴趣的文章
2019.02.15 bzoj5210: 最大连通子块和(链分治+ddp)
查看>>
redis cluster 集群资料
查看>>
Junit使用教程(一)
查看>>
Python接口测试-使用requests模块发送post请求
查看>>
混合模式程序集是针对“v2.0.50727”版的运行时生成的,在没有配置其他信息的情况下,无法在 4.0 运行时中加载该程序集。...
查看>>
jQuery总结或者锋利的jQuery笔记二
查看>>
前后端协作--服务器渲染与前后端分离
查看>>
微软职位内部推荐-Sr. SE - Office incubation
查看>>
微软职位内部推荐-SOFTWARE ENGINEER II
查看>>
GDB调试
查看>>
centos系统python2.7更新到3.5
查看>>
【Quartz】常用方法的使用方式(三)
查看>>
MVVM模式下关闭窗口的实现
查看>>
C#区域截图——调用API截图
查看>>
c#与java中byte字节的区别及转换方法
查看>>
A WebBrowser Toy
查看>>
用MyXls生成Excel报表(C#)
查看>>
了解WP的传感器
查看>>
阅读笔记 火球——UML大战需求分析 2
查看>>
acedEvaluateLisp函数的反汇编
查看>>