先建立单链表,然后输入值查找节点,但是不能实现,求指教,
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
char ch;
struct node *next;
}*LinkList,Node;
//创建单链表
LinkList creat()
{
LinkList head, p, r;
char ch1;
head = NULL;
printf("请建立单链表:(以\"/\"代表输入结束)\n");
scanf("%c", &ch1);
while (ch1 != '/')
{
p = malloc(sizeof(Node));
p -> ch = ch1;
if (head == NULL)
head = p;
else
r -> next = p;
r = p;
scanf("%c", &ch1);
}
r -> next = NULL;
return head;
}
//输出单链表元素
void output(LinkList head)
{
LinkList p;
p = head;
printf("你创建的单链表为:\n");
while(p != NULL)
{
printf("%c ", p -> ch);
p = p -> next;
}
printf("\n");
}
//按值查找值所在节点
LinkList find(LinkList head, char ch2)
{
LinkList p;
p = head -> next;
while (p != NULL && p -> ch != ch2)
{
p = p -> next;
}
return p;
}
int main()
{
LinkList head, p;
char ch2;
head = creat();
output(head);
printf("请输入你想查找的值:\n");
ch2 = getchar();
p = find(head, ch2);
printf("%c", p -> ch);
return 0;
}
#include <stdio.h>
#include <stdlib.h>
typedef struct node
{
char ch;
struct node *next;
}*LinkList,Node;
//创建单链表
LinkList creat()
{
LinkList head, p, r;
char ch1;
head = NULL;
printf("请建立单链表:(以\"/\"代表输入结束)\n");
scanf("%c", &ch1);
while (ch1 != '/')
{
p = malloc(sizeof(Node));
p -> ch = ch1;
if (head == NULL)
head = p;
else
r -> next = p;
r = p;
scanf("%c", &ch1);
}
r -> next = NULL;
return head;
}
//输出单链表元素
void output(LinkList head)
{
LinkList p;
p = head;
printf("你创建的单链表为:\n");
while(p != NULL)
{
printf("%c ", p -> ch);
p = p -> next;
}
printf("\n");
}
//按值查找值所在节点
LinkList find(LinkList head, char ch2)
{
LinkList p;
p = head -> next;
while (p != NULL && p -> ch != ch2)
{
p = p -> next;
}
return p;
}
int main()
{
LinkList head, p;
char ch2;
head = creat();
output(head);
printf("请输入你想查找的值:\n");
ch2 = getchar();
p = find(head, ch2);
printf("%c", p -> ch);
return 0;
}