链表删除结点课程无法继续

发布于 2022-09-01 06:52:58 字数 1368 浏览 30 评论 0

#include <iostream>
using namespace std;

struct List
{
    int num;
    List *next;
};

List *head;

void deleteNode(List *&head)
{
    //在下面编写删除代码
    int num;
    cin>>num;
    List *p=NULL,*q=NULL;
   p = head;
if(p->num == num){
    head =p->next;
        delete p;
    return;
}
    q=p->next;
    while( q != NULL ){
        if(q->num==num){
            p->next=q->next;
            delete q;
            return;
        }
     **//就是这里开始提示完成代码后,依然没有到下一步。。。
         if (q->num>num){
            return ;
        }
        p = q;
        q = q->next;
    }**


List *Create()
{
    List *p = NULL;
    List *q = NULL;
    head = NULL;
    for ( int i = 0; i < 3; i++ ) {
        p = new List;
        p->num = i * 2;
        if ( head == NULL ) {
            head = p;
        }
        else {
            q->next = p;
        }
        q = p;
    }

    if ( head != NULL ) {
        q->next = NULL;
    }

    return head;
}

void displayList(List *head)
{
    while ( head != NULL ) {
        cout << head->num;
        head = head->next;
        if ( head != NULL ) {
            cout << "->";
        }
    }
    cout << endl;
}

int main() {
    Create();
    deleteNode(head);
    displayList(head);
    return 0;
}

完全按照提示后,填写一直没有得到提示继续。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

旧话新听 2022-09-08 06:52:58

我测试好像没有问题,不明白你想要问什么...

root@localhost:~# ./a.out
0
2->4
root@localhost:~# ./a.out
1
0->2->4
root@localhost:~# ./a.out
2
0->4
root@localhost:~# ./a.out
3
0->2->4
root@localhost:~# ./a.out
4
0->2

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文