用C语言编写程序实现单链表的逆置算法,对空间使用不受限制.

来源:百度知道 编辑:UC知道 时间:2024/05/27 20:16:34
用C语言编写程序实现单链表的逆置算法,对空间使用不受限制.
就是这个题目,要源代码.
谢谢帮忙.

//就地逆置单链表

//定义结点数据元素结构体
typedef struct snode
{
DataType x;
struct snode *next;
}SLNode;

//逆置算法
void ListReverse(SLNode *head)
{
int i=-1,j;
DataType x;
SLNode *p,*q;

p=head;
while(p->next!=NULL&&i<(ListLength(head)-1)/2)
{
p=p->next;
i++;
q=head;
j=-1;
while(q->next!=NULL&&j<ListLength(head)-1-i)
{
q=q->next;
j++;
}
x=p->data;
p->data=q->data;
q->data=x;
}
}

我给你一个,看看怎麽样。

//就地逆置单链表

//定义结点数据元素结构体
typedef struct snode
{
DataType x;
struct snode *next;
}SLNode;

//逆置算法
void ListReverse(SLNode *head)
{
int i=-1,j;
DataType x;
SLNode *p,*q;

p=head;
while(p->next!=NULL&&i<(ListLength(head)-1)/2)
{
p=p->next;
i++;