建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中
来源:互联网 发布:可以看亚丝娜本子软件 编辑:程序博客网 时间:2024/04/30 17:52
#include<stdio.h>#include<stdlib.h>struct node//定义结点结构体{char ch;struct node *next;};typedef struct node Node;//重命名 结点结构体变量typedef struct node* Link;//重命名 指向结点结构体的指针变量int strlen_s(char *s)//求字符串长度{int i = 0;while (*s != '\n'){i++;s++;}return i;}void create_link(Link *head)//创建链表,{*head = NULL;//空链表}void is_malloc_ok(Link new_node)//判断新结点是否分配空间成功{if (NULL == new_node){printf("malloc error!\n");exit(-1);}}void create_new_node(Link *new_node)//创建新结点{*new_node = (Link)malloc(sizeof(Node));is_malloc_ok(*new_node);}void insert_tail(Link *head, Link new_node)//尾插新结点{Link tmp;tmp = *head;if (NULL == *head)//空链表,只能头插{new_node->next = *head;*head = new_node;}else{while (tmp->next != NULL)//找到尾结点{tmp = tmp->next;}tmp->next = new_node;new_node->next = NULL;}}void display_link(Link head)//显示结点内容{Link tmp;tmp = head;if (NULL == head)//空链表{printf("Link is empty!\n");return ;}while (tmp != NULL){printf("ch is '%c'\n",tmp->ch);tmp = tmp->next;}}void makeEmpty(Link *head)//清空链表,释放结点空间{Link tmp;tmp = *head;while(tmp != NULL){*head = tmp->next;free(tmp);tmp = tmp->next;}}int main(){Link head = NULL;Link new_node = NULL;int i;int len;char s[20];printf("Enter string(<=20)!\n");fgets(s,20,stdin);len = strlen_s(s);create_link(&head);//创建链表for (i = 0; i < len; i++){create_new_node(&new_node);//创建新结点new_node->ch = s[i];//为新结点成员赋值insert_tail(&head, new_node);//尾插新结点}display_link(head);//显示链表makeEmpty(&head);//清空链表,释放空间display_link(head);//显示链表 return 0;}
0 0
- 建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中
- 程序功能:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 程序功能:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 程序功能:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 程序功能:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中。
- 将字符存储到带有头结点的单向链表中
- (学习java)带有头结点的单向循环链表
- 依次输出链表中的各个结点的递归算法
- 带有头结点的链表实现
- 带有头结点的双向链表
- 实现带有头结点的链表
- 有头结点的单向链表
- 带有头结点的链表与没有头结点的链表的对比
- 题目:给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点。
- 给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点
- 13\给定单向链表的头指针和一个结点指针,定义一个函数在O(1)时间删除该结点,
- 带有头结点的简单链表实现
- 欢迎使用CSDN-markdown编辑器
- Java 枚举
- 在Docker容器中运行Spring Boot应用
- 关系表达式
- mysql数据库基础知识
- 建立一个带有头结点的单向链表,并将存储在数组中的字符依次转储到链表的各个结点中
- R-CNN 简单梳理
- SpringMVC 之 后台接收参数 与前台传递数据
- OC 跳出多层for循环嵌套 goto
- 使用ServletContext对象统计网站的访问量
- Android中getSystemService流程
- TextView之SpannableStringBuilder使用总结
- 2016.11.05 第一篇博客
- Mongodb 忘记密码