从链表A中删除从i开始的len个元素,同时粘贴到B链表的第j元素之前

来源:互联网 发布:大专程序员 编辑:程序博客网 时间:2024/05/10 12:26
//从链表A中删除从i开始的len个元素,同时粘贴到B链表的第j元素之前#include<iostream>using namespace std;//结点typedef struct node{    int data;    node *next;}node;void print(node *head){    node*p;    p=head;    while(p!=NULL)    {        cout<<p->data<<" ";        p=p->next;    }    cout<<endl;}//删除第i结点开始的len个元素node *del(node *head,int i,int len){    node *p,*q;    if(i==1)        for(int k=0;k<len;k++)        {            p=head;            head=head->next;            free(p);        }    else    {        p=head;        for(int k=0;k<i-1;k++)p=p->next;        for(int k=0;k<len;k++)        {            q=p->next;            p->next=q->next;            free(q);        }    }    return head;}node *insert(node *head,node *heada,int j){    node *p,*q;    p=heada;    while(p!=NULL)p=p->next;//指向最后结点    if(j==1)    {        p->next=head;        head=heada;    }    else    {        q=head;        for(int i=0;i<j-1;i++)q=q->next;        p->next=q->next;q->next=heada;    }    return head;}
1 0
原创粉丝点击