#include <stdio.h>#include<stdlib.h>#include<string.h>typedefstructnode_s{Char*data; structnode_s *Next;} node_t;node_t*Create () {node_t*p =calloc(1,sizeof(node_t)); returnp;}intInsert (node_t *head,Const Char*data) {node_t*New=Create (); if(!New){ return-1; } New->data =strdup (data); New->next = head->Next; Head->next =New; return 0;}intClear (node_t *head) {node_t*P_next; if(!head) { return-1; } while(Head->next! =NULL) {P_next= head->Next; if(head->data) { Free(head->data); } Free(head); Head=P_next; } return 0;}#defineforeach (Head, a_unit) for(head = head->next, a_unit = head; head = NULL; head = head->next, A_unit =head)intMain () {node_t*head =Create (); Insert (Head,"a"); Insert (Head,"b"); Insert (Head,"C"); node_t*A_unit; foreach(Head, a_unit) {printf ("%s\n", a_unit->data); } clear (head);}
A fuzzy search with a single linked list to be added