#include<stdio.h>
#include<stdlib.h>
#include<malloc.h>
typedef struct LNode {
int elem;
struct LNode* next;
}LNode, *linklist;
void LNode_create(linklist& L,int N)//创建链表
{
int n;
linklist Lhead, Lend;
Lhead = NULL;
Lend = NULL;
printf("请输入该数组\n");
for (int i = 0; i < N; i++)
{
scanf_s("%d", &n);
L = (linklist)malloc(sizeof(LNode));
L->elem = n;
L->next = NULL;
if (Lhead == NULL)
{
Lhead = L;
Lend = L;
}
else
{
Lend->next = L;
Lend = L;
}
}
L = Lhead;
}
void Reverse_L(linklist& L,int N)//逆置链表
{
int i, j,t;
linklist p;
p = L;
for (i = 0; i < N-1; i++)
{
for (j = 0; j < N - 1 - i; j++)
{
t = p->elem;
p->elem = p->next->elem;
p->next->elem = t;
p = p->next;
}
p = L;
}
}
void display(linklist L)//输出链表
{
while (L)
{
printf("%d ", L->elem);
L = L->next;
}
}
int main()
{
int N;
linklist L;
printf("请输入你要输入数组的元素个数;\n");
scanf_s("%d", &N);
LNode_create(L,N);
Reverse_L(L,N);
display(L);
return 0;
}
Algorithm 4_C language: Invert the dynamic singly linked list L.
Guess you like
Origin blog.csdn.net/qq_51224492/article/details/110559555
Recommended
Ranking