问题描述
创建一个双向链表,并将这个链表中的数据输出在窗体上,输入要查找的学生姓名,将查找的姓名
从链表中删除,并显示删除后的链表。
算法分析
引用头文件
#include <stdio.h>
#include <malloc.h>
#include <string.h>
声明结构体类型
typedef struct MyStruct
{
char name[20];
struct MyStruct *prior,*next;
}stud;
自定义creat(),实现创建一个双向链表,将此函数定义为指针类型,使其返回值为指针值,返回值指向一个struct Mystruct类型数据,实际上返回链表的头指针。代码如下:
stud *create(int n)
{
stud *p, *h, *s;
int i;
h = (stud*)malloc(sizeof(stud));
h->name[0] = '\0';
h->prior = NULL;
h->next = NULL;
p = h;
for (i = 0; i < n; i++)
{
s = (stud*)malloc(sizeof(stud));
p->next = s;
printf("输入第%d个学后的姓名:",i + 1);
scanf_s("%s", s->name,20);
s->