uq_73608178470


私信TA

用户名:uq_73608178470

访问量:265

签 名:

等  级
排  名 7910
经  验 1271
参赛次数 1
文章发表 2
年  龄 19
在职情况 学生
学  校 沈阳航空航天大学
专  业 计算机科学与技术

  自我简介:

TA的其他文章

解题思路:创建链表删除所要求数据。

注意事项:此为头插法,最后用数组来重新输出

参考代码:

#include<iostream>

using namespace std;

struct Data

{

    int a;

    struct Data* next;

};

int main()

{

    int n = 0,d=0,num,b[100000],i=0;

    cin >> n ;

    Data* h,*q,*v,*t,*e; 

    h=new Data;

    h->next = NULL;

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

    {

        Data *p;

        p = new Data;

        cin >> p->a;

        p->next = h->next;

        h->next = p;

    }

    cin >> d;

    t = h;

   while(t->next!=NULL)

    {  

       if (t->next->a == d&&t->next->next!=NULL) {

           e = t->next; t->next = e->next;  free(e);

        }

       else if (t->next->a == d && t->next->next == NULL) {

           t->next = NULL; free(t->next->next);

       }

       else t = t->next;

    }

    v = h;

    while(v->next!=NULL)

    {

        b[i] = v->next->a;

        i++;

        v = v->next;

    }

    for (int j = i-1; j >= 0; j--)

    {

        cout << b[j] << " ";

    }

    return 0;

}


 

0.0分

1 人评分

  评论区

  • «
  • »