找出链表的中间结点 C语言实现
来源:互联网 发布:软件项目经理责任制 编辑:程序博客网 时间:2024/06/07 00:38
代码实现
#include<stdio.h>#include<stdlib.h>#define N 50typedef struct linklist{ int data; struct linklist *next;}list, *plist;/*创建链表*/void creat_list(plist* head){ int i; plist p; for (i = 1; i < N; i++) { if (i%3 == 0) { p = (plist)malloc(sizeof(list)); p->data = i; p->next = *head; *head = p; } }}/* 打印输出 */void print_list(plist head){ plist p = head; while (p != NULL) { printf("%d ", p->data); p = p->next; } printf("\n");}void find_middle_node(plist head){ int i,count = 0; plist pcur = head; if (pcur == NULL) { printf("空表\n"); return; } while (pcur!=NULL) { count++; pcur = pcur->next; } /*当前指针pcur指向头结点*/ pcur = head; for (i = 0; i < count / 2; i++)/*移动至链表中间位置处为止*/ { pcur = pcur->next; if (pcur->next == NULL) { break; } } printf("中间结点:%d\n", pcur->data);}void main(){ plist head; head = NULL; printf("链表为:\n"); creat_list(&head); print_list(head); find_middle_node(head); system("pause");}
0 0
- 找出链表的中间结点 C语言实现
- 找出链表的中间结点
- 遍历单链表一次,找出链表中间结点
- 链表的中间结点
- 构造一个链表,经过一次循环找出中间的结点
- C语言有头结点链表的经典实现
- C语言实现双向非循环链表(带头结点尾结点)的基本操作
- C语言实现双向非循环链表(带头结点尾结点)的节点插入
- 删除链表的中间结点
- 找出链表的中间元素
- 带头结点的链队列实现(C语言)
- 带头结点的链队列实现(C语言)
- 带头结点的链队列实现(C语言)
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- 学习笔记——C语言实现单链表的基本操作:创建、输出、插入结点、删除结点、逆序链表
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- C语言实现单链表(带头结点)的基本操作(创建,头插法,尾插法,删除结点,打印链表)
- 单向链表中间结点
- 生成指定个数的随机码,同时包含大小写字母和数字【H3C笔试题】
- leveldb资料整理
- java异常处理<2>__笔记(18)
- 柔性数组
- 微信公众平台之CURL应用access_token
- 找出链表的中间结点 C语言实现
- 在linux debian系统上写个hello world版的bootloader
- leveldb项目实践
- android studio获取sha1的值mac版
- Ubuntu14.04使用VNC无法显示图形界面问题的解决
- hdoj Chopsticks 1500 (DP)筷子配对
- UniBeast:在任何支持基于英特尔处理器的PC上安装OS X优胜美地
- mysql5.5 主从备份设置
- python学习之4 文本文件读写