-->
当前位置:首页 > 题库 > 正文内容

程序填空题:单链表删除操作

Luz4年前 (2021-05-10)题库2924
单链表删除操作。

```
#include
using namespace std;
#define OK 1
#define ERROR 0
typedef int ElemType;

typedef struct LNode {
ElemType data;
struct LNode *next;
} LNode, *LinkList;

void CreateList(LinkList &L, int n) ;//该函数未显示细节

int ListDelete_L(LinkList &L, int i) {
LinkList p, q;
int j;
p = L;
j = 0;
while (@@[(p->next) && (j < i - 1)](2))
{
p = p->next;
++j;
}
if (!(p->next) || (j > i - 1))
return ERROR;
q = p->next;
@@[p->next = q->next; ](2)
delete q;
return OK;
}


void print(LinkList &L)
{
LinkList p;
int flag=1;
p = L->next;
while (p) {
if(flag)
cout << p->data;
else
cout << " "<< p->data;
flag=0;
p = p->next;
}
}

int main() {
LinkList L;
ElemType e;
int length;
int i;
cin >> length;
CreateList(L, length);
cin >> i;
ListDelete_L(L,i);
print(L);
return 0;
}
```






答案:
第1空:(p->next) && (j < i - 1)

第2空:p->next = q->next;

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。