有一链式结构,定义如下 : struct stu{ char name[20]; int no; struct stu *next; }; 创建一个函数myindex(head,name),在链表head中查找name域为name的结点,返回查找后结果。如果p链表中结点的name域与name相同,返回该结点的地址,如果没找到,返回NULL。 程序中create函数已经为我们创建了一个有10个结点的无头结点的链表。
时间: 2024-03-16 21:47:49 浏览: 56
好的,这是一个比较经典的链表查找问题。下面是一个简单的实现:
```c
struct stu* myindex(struct stu* head, char* name) {
struct stu* p = head->next;
while (p) {
if (strcmp(p->name, name) == 0) {
return p;
}
p = p->next;
}
return NULL;
}
```
其中,head是链表的头指针,p为遍历用的指针。我们从链表的第一个结点开始遍历,如果p的name域与name相同,就返回该结点的地址;如果遍历完整个链表仍然没有找到,就返回NULL。
需要注意的是,head指针本身不存储数据,它只是用来标识链表的起始位置。因此,在遍历时需要跳过head指针,从head->next开始遍历。
相关问题
有一链式结构,定义如下 : struct stu{ char name[20]; int no; struct stu *next;
这是一个链式结构体,其中包含了三个成员:name、no 和 next。其中,name 是一个长度为 20 的 char 数组,用来存储学生姓名;no 是一个整型变量,用来存储学号;next 是一个指向下一个结构体的指针,用来构建链表。
这个链式结构体可以用来表示一个学生信息,每个结构体代表一个学生,通过 next 指针可以将多个学生信息串联起来形成一个链表。在链表中,每个结构体代表一个节点,next 指针指向下一个节点,最后一个节点的 next 指针为 NULL,表示链表的末尾。
有一链式结构,定义如下 : struct stu{ char name[20]; int no; struct stu *next; }; 创建一个函数create(),实现无头结点的链表,有m个结点,函数的返回值为链表的头指针。
好的,我来给你写一个实现 create() 函数的代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
struct stu{
char name[20];
int no;
struct stu *next;
};
struct stu* create(int m){
struct stu *head, *p, *q;
int i;
head = NULL;
for(i=0; i<m; i++){
p = (struct stu*)malloc(sizeof(struct stu));
printf("请输入第%d个学生的姓名和学号:", i+1);
scanf("%s %d", p->name, &p->no);
p->next = NULL;
if(head == NULL){
head = p;
}else{
q->next = p;
}
q = p;
}
return head;
}
int main(){
int m;
struct stu *p;
printf("请输入学生的个数:");
scanf("%d", &m);
p = create(m);
printf("学生的信息如下:\n");
while(p != NULL){
printf("%s %d\n", p->name, p->no);
p = p->next;
}
return 0;
}
```
这是一个基本的链表创建函数,通过循环输入学生的姓名和学号,然后将其加入链表的尾部,最后返回链表的头指针。在主函数中,我们可以使用返回的头指针遍历整个链表并输出每个学生的信息。注意:这里的链表是无头结点的,头指针就是链表的第一个结点的指针。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![docx](https://img-home.csdnimg.cn/images/20210720083331.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)