|
60鱼币
#include "head.h"
typedef struct data{
char id;
struct data *next;
}DATA;
//链表节点的查找
DATA *search_link_node(DATA *head , char data){
DATA *temp = head;
while(temp){
if(temp->id == data){
return temp;
}
temp = temp->next;
}
return NULL;
}
//打印链表
void link_prinf(DATA *head){
DATA *temp = head;
while(temp->next){
temp = temp->next;
printf("id = %c\n",temp->id);
}
}
//释放链表
void free_link(DATA **head){
DATA* temp = *head;
while(*head != NULL){
temp = *head;
*head = (*head)->next;
free(temp);
temp = NULL;
}
}
//创建单链表
DATA* create_link_node(int n){
DATA *p = (DATA*)malloc(sizeof(DATA));//创建头节点
DATA *temp = p;
for(int i = n ; i > 0 ; i--){
//第二个节点
DATA *node = (DATA*)malloc(sizeof(DATA));
if(node){
scanf("%c",&node->id);
node->next = NULL;
temp->next = node;
temp = temp->next;
}else{
printf("malloc fair\n");
}
}
return p;
}
int main(){
DATA* p = NULL;
p = create_link_node(5);
//link_prinf(p);
DATA *res = search_link_node(p,5);
link_prinf(res);
//free_link(&p);
system("pause");
}
本帖最后由 jhq999 于 2023-1-30 19:47 编辑
因为
- typedef struct data{
- char id;//////注意是字符
- struct data *next;
- }DATA;
复制代码
所以
- DATA *res = search_link_node(p,‘5’);//代入字符‘5’,不是数值5
复制代码
|
|