单链表的插入和删除

来源:互联网 发布:艾诺迪亚3网络矿山boss 编辑:程序博客网 时间:2024/04/28 16:58

                                      单链表的插入和删除

#include<iostream>

#include<stdlib.h>
#include<cstdlib>
#include<ctime>
struct s
{
    int a;
    struct s*next;
};
int main()
{
    //srand(time(0));//随机数种子的使用但这里没使用
    struct s *p,*head,*q;
    head=(struct s *)malloc(sizeof(struct s));
    head->next=NULL;
    for(int i=0;i<10;i++)
    {
        p=(struct s *)malloc(sizeof(struct s));
        p->a=rand();//随机数的使用
        p->next=head->next;
        head->next=p;
    }//创建简单链表
    q=(struct s *)malloc(sizeof(struct s));
    q->a=12;
    q->next=head->next;
    head->next=q;
    p=head->next;
    //创建要插入的链表,插入链表
    while(p->next!=NULL)
    {
        std::cout<<p->a<<" ";
        p=p->next;
    }
    std::cout<<std::endl;
    //删除节点,删除刚查入的节点
    p=head->next->next;//将指针P移动到刚插入节点的后边
    head->next=p;//删除节点
    while(p->next!=NULL)
    {
        std::cout<<p->a<<" ";
        p=p->next;
    }


    return 0;
}
1 0
原创粉丝点击