单链表创建

单链表创建,第1张

#include
#include
#include
#include

typedef struct
{
    char name[10];
    int num;
    int sc;
}datatype;

typedef struct lnode
{
    datatype data;
    struct lnode *next;
}node;

struct linknode* create(int n)
{
     node *head=NULL,*p,*q;
     int i;
     head=(node*)malloc(sizeof(node));
     head->next=NULL;
     p=head;
     for(int i=0;i      {
         q=(node*)malloc(sizeof(node));
         printf("input :\n");
         scanf("%s %d %d",&(q->data.name),&(q->data.num),&(q->data.sc));
         q->next=NULL;
         p->next=q;
         p=p->next;
     }
     return head;
};

void disp(node *L)
{
    node *p=L->next;
    while(p!=NULL)
    {
        printf("%s %d %d\n",p->data.name,p->data.num,p->data.sc);
        p=p->next;

    }

}

int length(node *L)
{
    int n=0;
    node *p=L->next;
    while(p!=NULL)
    {
        n++;
        p=p->next;
    }
    return n;
}

int locate(node *L,int e)
{
    int i=1;
    node *p=L->next;
    while(p!=NULL)
    {
        if(p->data.num==e)
            return i;
        i++;
        p=p->next;
    }
    return -1;
}

bool insert(node* L,int i)
{
    int j=1;
    node *p=L,*s;
    if(i<=0)
    {
        return false;
    }
    while(j     {
        j++;
        p=p->next;
    }
    if(p==NULL)
    {
        return false;
    }
    else{
        s=(node*)malloc(sizeof(node));
        printf("输入插入的数据:\n");
        scanf("%s %d %d",&s->data.name,&s->data.num,&s->data.sc);
        s->next=p->next;
        p->next=s;

        return true;
    }
}

int main()
{
    int n;
    printf("多少个数据?\n");
    scanf("%d",&n);
    node *p=create(n);
    insert(p,3);
    disp(p);

}


 

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/676467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-04-19
下一篇 2022-04-19

发表评论

登录后才能评论

评论列表(0条)

保存