1、假设在长度大于1的循环链表中,既无头结点也无头指针,s为指向链表中某个结点的指针,试编写算法Delete

[复制链接]
查看11 | 回复3 | 2011-5-5 20:07:14 | 显示全部楼层 |阅读模式
各路仙人,帮小弟解决一下问题吧,绝对有追加,我现在没有分了,一定尽快赚分。
忘了说了,最好c++

回复

使用道具 举报

千问 | 2011-5-5 20:07:14 | 显示全部楼层
struct list{int data;list *node;}; int deleteNode(list * L){list *p;int i;L->data=L->next->data;p=L->next;L->next=L->next->next;delete p;return 0;}主要是思想是把要删除的节点当做下一个节点 复制下一个节点的数据到本节点,然后删除下一个节点当然要把链接上
回复

使用道具 举报

千问 | 2011-5-5 20:07:14 | 显示全部楼层
#include #include typedef struct _DLNode{ struct _DLNode *next; int value;} DLNode;/** 1. 如果链有没有节点,就返回NULL* 2. 如果链表只有一个节点,输入节点的
回复

使用道具 举报

千问 | 2011-5-5 20:07:14 | 显示全部楼层
定义指针p,qp = s->next;s->next = NULL; // 剪断while(p){
q = p;
p = p->next;
q->next = NULL; // q指向的节点和链表断开
free(q);}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行