数据结构示例之查看链表元素是否存在

来源:互联网 发布:js数组重排序 编辑:程序博客网 时间:2024/06/03 18:55

以下为“查看链表元素是否存在”的简单示例:

1. 用c语言实现的版本

#include<stdio.h>#include<stdlib.h>typedef char datatype;typedef struct node{datatype  data;struct node  *next;} listnode;typedef  listnode  *linklist;listnode  *p;/* 创建链表,从表头插入新元素 */linklist  createlist(void){char ch;linklist  head;listnode  *p;head = NULL;/*初始化为空*/printf("请输入字符序列:\n");ch = getchar();while (ch != '\n'){p = (listnode*)malloc(sizeof(listnode)); /*分配空间*/p->data = ch; /* 数据域赋值 */p->next = head; /* 指定后继指针 */head = p; /* head指针指定到新插入的结点上 */ch = getchar();}return head;}listnode * locatenode(linklist head, char key){listnode * p = head;while (p && p->data != key){p = p->next;}return p;}void main(){linklistlist;listnode * node;char key;list = createlist(); /* 创建链表,从表头插入新元素 */printf("请输入要查询的元素:\n");scanf("%c", &key);node = locatenode(list, key);if (node){printf("已找到%c\n",node->data);}else{printf("未能找到%c\n", key);}}

运行结果如下图所示:


0 0
原创粉丝点击