#include "stdio.h"
#include "stdlib.h"
#include "time.h"
typedef struct node{
int a;
struct node* next;
}LNODE;
LNODE* LinklistCreate(void);
void LinklistVisit(LNODE *head);
LNODE* LinklistConvert(LNODE *);
int main(void)
{
LNODE *head = NULL;
head = LinklistCreate();
if(head == NULL)
return -1;
printf("before convert:\n");
LinklistVisit(head);
head = LinklistConvert(head);
printf("after convert:\n");
LinklistVisit(head);
return 0;
}
LNODE* LinklistCreate(void)
{
int num = 0,i = 0;
LNODE *head = NULL,*pf = NULL,*pb = NULL;
printf("How many nodes do you want?\n");
scanf("%d",&num);
if(num < 1)
return NULL;
for(i = 0;i < num;i++)
{
pf = (LNODE*)malloc(sizeof(LNODE));
if(pf == NULL)
{
if(i == 0)
return NULL;
else
{
for(;i > 0;i--)
{
pf = head->next;
无头单链表逆序(法一)
最新推荐文章于 2022-02-24 11:04:17 发布
本文介绍了一种使用C语言实现无头单链表逆序的方法。通过`LinklistCreate`函数创建链表,`LinklistVisit`显示链表内容,`LinklistConvert`函数完成链表逆序。逆序操作通过动态分配内存和指针调整完成,避免了头节点的额外处理。
摘要由CSDN通过智能技术生成