怎么创建链表 然后使用我写的算法

设计一个算法,删除一个单链表L中元素值最大的结点。 …算法我写出来了,我该怎样创建链表,才能使用这个算法…


void delmaxnode(LinkList*&L)

{

LinkLisy* p = l->next, * pre = L, * maxp = p.*maxpre = pre;

while (p != NULL)

{

if(maxp->datadata)

{

maxp = p;

maxpre = pre;

}

pre = p;

p = p->next;

}

if (maxp != NULL) {

maxpre->next = maxp->next;

free(maxp);

}

}


供参考:

#include <stdio.h>
#include <malloc.h>
typedef struct LNode{//存储结构
    int    data;
    struct LNode *next;
}LNode, LinkList;
void creatlinklist(LinkList *&L)
{
    int n = 9, i;
    LinkList *p,*q;
    L = (LinkList*)malloc(sizeof(LNode));
    L->next = NULL;
    q = L;
    for(i=0;i<n;i++)
    {
        p = (LinkList*)malloc(sizeof(LNode));
        p->next = NULL;
        p->data = n-i;
        q->next = p;
        q = p;
    }

}
void delmaxnode(LinkList*&L)//设计一个算法,删除一个单链表L中元素值最大的结点。
{
    LinkList* p = L->next, * pre = L, * maxp = p,*maxpre = pre;
    while (p != NULL)
    {
         if(maxp->data < p->data)
         {
            maxp = p;
            maxpre = pre;
         }
         pre = p;
         p = p->next;
    }
    if (maxp != NULL){
         maxpre->next = maxp->next;
         free(maxp);
    }
}
void print(LinkList *L)
{
    LinkList *p = L;
    while(p->next){
         printf(p == L?"%d":"->%d",p->next->data);
         p = p->next;
    }
    printf("\n");
}
int main()
{
    LinkList *L;
    creatlinklist(L);
    print(L);
    printf("\n****************\n\n删除单链表L中元素值最大的结点后:\n\n");
    delmaxnode(L);
    print(L);

    return 0;
}