链表倒序排列
发布网友
发布时间:2022-08-16 00:58
我来回答
共1个回答
热心网友
时间:2023-09-25 10:48
例:ABC DEF
结果1:FED CBA
结果2:DEF ABC
以下给出的两个程序都是用堆栈的方法接收,从而倒序!
/*结果1*/
#include "stdio.h"
#include <stdlib.h>
#define N 5
struct str
{
char a;
struct str *next;
};
struct str *creat(struct str *head)
{
int i;
struct str *p1;
printf("请输入5个字符:");
for(i=0;i<N;i++)
{
p1=malloc(sizeof(struct str));
p1->a=getche();
p1->next=head;
head=p1;
}
return(head);
}
void main()
{
struct str *head;
head=NULL;
head=creat(head);
printf("\n");
do{
printf("%c",head->a);
head=head->next;
}while(head!=NULL);
}
/*结果2*/
#include "stdio.h"
#include <stdlib.h>
#define N 3
struct str
{
char a[30];
struct str *next;
};
struct str *creat(struct str *head)
{
int i;
struct str *p1;
for(i=0;i<N;i++)
{
printf("输输入3个字符串:\n");
p1=malloc(sizeof(struct str));
gets(p1->a);
p1->next=head;
head=p1;
}
return(head);
}
void main()
{
struct str *head;
head=NULL;
head=creat(head);
do{
printf("%s ",head->a);
head=head->next;
}while(head!=NULL);
}