您的位置:首页 > 其它

4、删除单链表的倒数第m个元素

2014-08-13 16:48 162 查看
分析:可以类比 3 中的思想

#include<iostream>

#include<cstdlib>

const int MaxSize = 101;

using namespace std;

typedef struct ListNode{

    int data;

    struct ListNode *next;

}ListNode;

void DeleteMList(ListNode *L,int m)

{

    ListNode *p1;

    ListNode *p2;

    p1 = L;

    p2 = L;

    for(int i = 0;i < m;i++)

    {

        p2 = p2->next;

    }

    while(p2 != NULL)

    {

        p1 = p1->next;

        p2 = p2->next;

    }

    cout<<p1->data<<endl;

}

void Print(ListNode *L)

{

    ListNode *p;

    p = L->next;

    while(p != NULL)

    {

        cout<<p->data<<endl;

        p = p->next;

    }

}

int main()

{

    int num;

    ListNode *A;

    ListNode *r;

    ListNode *s;

    A = (ListNode*)malloc(sizeof(ListNode));

    r = A;

    while(cin>>num)

    {

        s = (ListNode*)malloc(sizeof(ListNode));

        s->data = num;

        r->next= s;

        r = r->next;

    }

    r->next = NULL;

    DeleteMList(A,2);

    //Print(A);

    return 0;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: