C/c++语言,求单向链表的逆序_普通方法_header+p+q工作指针
2006-05-29 00:23
405 查看
题目要求:给出两个工作指针q,p;一个头指针,求一个链表逆序
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
//=====================链表
typedef int Status;
typedef struct LNode//链表
{
char c;
struct LNode *Next;
} LNode,*pNode;
//=======================
Status RevList(pNode *h)//直接编程
{
pNode temp=NULL;
pNode q=NULL;
assert((*h)!=NULL);
q=(*h)->Next;//把第二个结点给q
(*h)->Next=NULL;//第一个结点的下一个指向空
while (q!=NULL)
{
temp=q->Next;//把第三个结点给p
q->Next=(*h);//把第一个结点给q;
(*h)=q;
q=temp;
}
return OK;
}
//==========================
#define OK 1
#define ERROR 0
#define TRUE 1
#define FALSE 0
//=====================链表
typedef int Status;
typedef struct LNode//链表
{
char c;
struct LNode *Next;
} LNode,*pNode;
//=======================
Status RevList(pNode *h)//直接编程
{
pNode temp=NULL;
pNode q=NULL;
assert((*h)!=NULL);
q=(*h)->Next;//把第二个结点给q
(*h)->Next=NULL;//第一个结点的下一个指向空
while (q!=NULL)
{
temp=q->Next;//把第三个结点给p
q->Next=(*h);//把第一个结点给q;
(*h)=q;
q=temp;
}
return OK;
}
//==========================
相关文章推荐
- 单链表逆序输出C++ (stack方法、双向链表方法以及vector方法)
- ZT C语言链表操作(新增单向链表的逆序建立)
- 两种方法实现单向链表的创建、遍历、删除、查找、逆序输出(循环法和递归法)
- C语言:链表的逆序,两种思考方法,第一种用rev_1()实现,第二种用rev_2( )实现.
- 用C++实现单向循环链表的解决方法
- C/C++用递归的方法求链表逆序
- C语言数据结构(链表)单向链表的创建删除逆序
- C/C++语言参数传递----函数/方法 参数的指针引用传递
- C++建立单向链表链表头指针需要使用指针类型的引用参数?
- C++建立单向链表链表头指针需要使用指针类型的引用参数?
- C++链表冒泡,归并,插入排序(纯指针)
- C/C++语言void及void指针深层探索
- C/C++语言void及void指针深层探索
- 数据结构C++模板实现之----------------单向链表
- C/C++语言中的void及void指针总结
- 如何判断一个单向链表是否存在循环的经典方法
- C语言课程设计第三节课:指针和链表使用 150809205
- 单向链表之C++实现
- 给定一个单向链表(长度未知),请遍历一次就找到中间的指针,假设该链表存储在只读存储器,不能被修改
- C/C++语言void及void指针深层探索