编辑代码

#include <stdio.h>
#include <stdlib.h>
#include <stdbool.h>
#define maxsize 30

typedef struct linknode
{
    char data;
    struct linknode *next;
}Linklist;
//初始化
bool InitSqlist(Linklist *head)
{
    if(head == NULL)
    {
        return false;
    }
    else
    {
        head->next=NULL;
        return true;
    }
}
//头插法
void InsertSqlistByHead(Linklist *head,int n)
{
   int val; 
   Linklist *p;
   while(n--)
   {
        scanf("%d",&val);
        p=(Linklist *)malloc(sizeof(Linklist));
        p->data=val;
        p->next=head->next;
        head->next=p;     
   }

}
//尾插法
void InsertSqlistByRear(Linklist *head,int n)
{
    int val;
    Linklist *pRear=head;
    Linklist *p;
    while(n--)
    {
        scanf("%d",&val);
        p=(Linklist *)malloc(sizeof(Linklist));
        p->data=val;
        pRear->next=p;
        p->next=NULL;
        pRear=p;
        
    }
}
//删除
void DeleteSqlist(Linklist *head,int val)
{
    Linklist *pCurrent,*pforead;
    pCurrent=(Linklist *)malloc(sizeof(Linklist));
    pforead=(Linklist *)malloc(sizeof(Linklist));
    pCurrent=head->next;
    pforead=head;
    if(pCurrent->data != val)
    {
        pCurrent=pCurrent->next;
        pforead=pforead->next;
        if(pCurrent==NULL)
        {
            printf("error\n");
            return;
        }
    }
    pforead->next=pCurrent->next;
    free(pCurrent);
    pCurrent=NULL;
    

}
//修改
void ChangeSqlist(Linklist *head,int n)
{

}
//单链表逆置
Linklist *resevertList(Linklist *head)
{
    Linklist *pRev=NULL;
    Linklist *cur=head;
    while(cur)
    {
        Linklist *next=cur->next;
        cur->next=pRev;
        pRev=cur;
        cur=next;
    }
    return pRev;
}
//遍历
void PrintfSqlist(Linklist *head)
{
    Linklist *p;
    p=(Linklist *)malloc(sizeof(Linklist));
    p=head->next;
    while(p != NULL)
    {
        
        printf("%d ",p->data);
        p=p->next;
    }
    printf("\n");
  
}




int main()
{
    Linklist *L;
    InitSqlist(L);
 /* InsertSqlistByHead(&L,3);
    PrintfSqlist(&L);
*/
    InsertSqlistByRear(L,3);
    PrintfSqlist(L);
    DeleteSqlist(L,2);
    PrintfSqlist(L);
    return 0;
}