单链表的删除操作 procedure delete(L:linklist; I:integer);var p,q:pointer;
单链表的删除操作
procedure delete(L:linklist; I:integer);
var p,q:pointer;
单链表的删除操作
procedure delete(L:linklist; I:integer);
var p,q:pointer;
单链表的插入操作
procedure insert(L:linklist; I:integer; x:datatype);
var p,q:pointer;
A.单链表的插入操作中,需要建立一个新数据结点
B.单链表的访问方式是顺序访问方式,即要从第一个结点开始依次访问其他结点
C.建立单链表时,有正向生成构造和反向生成构造两种方法
D.单链表删除操作中,仅需要将被删结点从链表上取下来既可
链表的定位函数
loc(I:integer):pointer; {寻找链表中的第I个结点的指针}
procedure loc(L:linklist; I:integer):pointer;
var p:pointer;
j:integer;
A.粒度太粗,节点读写一致性不能保证
B.粒度太粗,线程不必要的等待
C.粒度太细,加解锁开销大
D.粒度太细,总体读写一致性不能保证
A.q=p->next;p->data=q->data;p->next=q->next;free(q)
B.q=p->next;q->data=p->data;p->next=q->next;free(q)
C.q=p->next;p->next=q->next;free(q)
D.q=p->next;p->data=q->data;free(q)
A.DROP PROC CountProc1;
B.DELETE PROC CountProc1;
C.DROP PROCEDURE CountProc1;
D.DELETE PROCEDURE CountProc1;