6-1 单链表逆转
题目要求:
本题要求实现一个函数,将给定的单链表逆转。
代码如下:
List Reverse(List head){
List *p,*pre;
p=NULL;
while(head!=NULL){
pre=head->Next;
head->Next=p;
p=head;
head=pre;
}
return p;
}
本题思路:
1、本题使用三个指针就地逆置单链表,三个指针开火车一样从左到右行驶,pre指向head的下一项,用head指向p来将单链表逆置,直到head走到NULL,即原单链表表尾。
2、PTA平台对指针的声明好像并不严格,p和pre可以直接声明,或者用*p,pre都行。
6-2 顺序表操作集
题目要求:
本题要求实现顺序表的操作集
List MakeEmpty():创建并返回一个空的线性表;
Position Find( List L, ElementType X ):返回线性表中X的位置。若找不到则返回ERROR;
bool Insert( List L, ElementType X, Position P ):将X插入在位置P并返回true。若空间已满,则打印“FULL”并返回false;如果参数P指向非法位置,则打印“ILLEGAL POSITION”并返回false;<