链表插入+排序

感觉突然领悟了指针的精华,自己写了个带排序功能的链表,使用指针进行高效的操作,颇有成就感。

#include
#include
#include
#include
using namespace std;
struct link
{
    int n;
    link *Next;
};
link *L;

link *made(int i)
{
    link *l=(link*)malloc(sizeof(link));
    l->n=i;
    l->Next=0;
    return l;
}

link *insert(link *l,int i)
{
    if(l==NULL)
    {
        l=made(i);
        return l;
    }
    else
    {
        if(i>l->n)
        {
            link *t;
            t=made(i);
            t->Next=l;
            return t;
        }
        else
        {
            l->Next=insert(l->Next,i);
            return l;
        }
    }
}

void outputl(link *l)
{
    if(l==NULL)
    {
        printf("\n");
        return;
    }
    printf("%d ",l->n);
    outputl(l->Next);
    return;
}

int main()
{
    int i,n,m;
    scanf("%d",&n);
    L=NULL;
    for(i=0;i



你可能感兴趣的:(实用数据结构)