- 浏览: 61873 次
- 性别:
- 来自: 北京
最新评论
求链表中间节点的值,检测链表的环
int loop(struct Node* head){ struct Node* p1 = head; struct Node* p2 = head; int i = 0; while(p1 && p2){ i++; if(i!=1){ if(p1->value == p2->value){ printf("%d\n",i); return 1; } } p1 = p1->next; if(p2->next != null){ p2 = p2->next->next; }else{ return 0; } } printf("%d\n",i); return 0; } int middle(struct Node* head){ struct Node* p1 = head; struct Node* p2 = head; while(p2){ p2 = p2->next; if(p2 != null){ p1 = p1->next; p2 = p2->next; } } return p1->value; } int main(int argc,char *argv[]){ /** struct Node* head = create(); print(head); struct Node* x = malloc(sizeof(struct Node)); x->value = 1; delete(x,&head); print(head); **/ struct Node* p1 = malloc(sizeof(struct Node)); p1->value = 1; struct Node* p2 = malloc(sizeof(struct Node)); p2->value = 2; struct Node* p3 = malloc(sizeof(struct Node)); p3->value = 3; struct Node* p4 = malloc(sizeof(struct Node)); p4->value = 4; struct Node* p5 = malloc(sizeof(struct Node)); p5->value = 5; p1->next = p2; p2->next = p3; p3->next = p4; p4->next = p5; p5->next = null; printf("中间节点数值:%d\n",middle(p1)); return 0; }
发表评论
-
实习前记
2012-07-16 15:27 696经过回来一周的找工作,总体感觉就是很累啊,每天东跑西颠的。面了 ... -
php函数参数列表
2012-05-11 16:50 1400[size=medium] 1.直接传值 function ... -
php的ob_flush和flush
2012-05-10 21:20 1069php.ini中 output_buffering = of ... -
php读文件的4中方法。
2012-05-10 20:38 871fopen $fp = fopen("downl ... -
百度笔试算法题一道。
2012-05-10 15:02 931一个数组a[0-n-1],a[0-mid]和a[mid+1-n ... -
自己实现php UTF8中文字符串截取
2012-05-09 11:38 2848header("Content-type: te ... -
C与C++动态分配,释放内存的区别
2012-05-08 17:30 160221. malloc()函数 1.1 malloc的 ... -
nginx rewrite
2012-05-04 11:23 0http://blog.cafeneko.info/2010/ ... -
php magic method
2012-05-04 11:16 859php的魔术方法总结 php的魔术方法都是和类有关的。 ... -
诡异的 shell 08 bug
2012-04-30 01:11 724v=08 echo $v shell里以0开头的都会把它当作8 ... -
排序相关
2012-04-22 16:01 0排序分类 内排序: 交换式排序: ... -
php string
2012-04-22 11:33 853一.字符串类型 php一共有8中数据类型 ... -
简单的树的递归、非递归创建,前序中序后序遍历
2012-04-21 10:03 1034c语言写着还挺带感 #in ... -
php 深度优先递归输出路径下所有文件
2012-04-19 21:27 1491<?php $dir = " ... -
简单的栈
2012-04-19 21:14 679#include <stdio.h> #de ... -
简单的循环队列
2012-04-19 21:13 780#include <stdlib.h> ... -
单链表删除一个节点
2012-04-19 21:10 9813有头结点的情况,附加一个逆置 #include <s ... -
KMP与BF,实现了一个非主流next函数
2012-04-19 20:16 899#include <stdlib.h> #i ... -
ip过滤问题
2012-03-22 21:09 0假设有很多段ip段属于教育网的,如何尽快辨别一用户ip是否属于 ... -
求三叉树高度
2012-03-18 17:05 3053有12345个结点的满3叉数的高度为_____写出计算过程 ...
相关推荐
数据结构第二章上机作业,张宪超。 已知head为单链表的表头指针,链表中储存的都是整形数据,实现下列运算的递归算法: 1.求链表中最大值 2.求链表中的节点个数 3.求所有整数平均值
数据结构 初始化链表,插入删除节点,遍历链表,链表长度,找出中间节点
这是一个单向链表,它具有插入与删除节点的功能。Entry类实现了链表的各节点。
耿国华版数据结构二叉链表叶子节点输出的完整程序,上机试过了,希望能帮到有需要的人。
初始化并建立单链表 遍历链表数据 查找倒数第N个数据 查找中间数据
c语言 c语言编程题之链表操作链表的中间节点
尤其是,当用链表描述不同的数据结构时,节点结构体的定义都是不同的,这就需要为每一种链表都写一套诸如插入、删除节点之类的操作代码。 本程序就是为了解决这个问题,将双向链表的基本操作写成了一套通用程序,...
华为OD机试 - 单向链表中间节点(Java & JS & Python & C & C++).html付费专栏内容,免费下载,多种语言解法
数据结构经典算法演示,这里是链表-插入节点的代码演示
本文实现算法来删除单链表中的中间节点,只知道指向该节点中间节点的指针,大家可以参考使用
数据结构 链表节点的删除 通过三种方法对链表节点进行删除。
输入年龄,若和链表内节点相同,删除该节点
主要介绍了C++删除链表中间节点的方法,结合实例形式分析了链表删除中间节点的具体思路与实现技巧,需要的朋友可以参考下
2095. 删除链表的中间节点由于链表不支持随机访问,因此常见的找出链表中间节点的方法是使用快慢指针:即我们使用两个指针fast 和 slow 对链表进行遍历,
数据结构c语言版链表删除重复节点,包含数据类型、结构的定义和函数的实现
每敲一次代码都会有新的收获,基本功不扎实啥也干不了。单向链表的插入,删除,创建,遍历是数据结构的基本操作。里边的算法值得学习。下面我们就来学习一下单向链表结点的逐个删除的方法。
一个用链表管理节点指针的类。 可以有两种方式提取,先入先出和遍历的方式。 是我自己工作中使用的。 应该是比较方便,现提供出来方便大家。
操作一个链表,链表中的节点有两个指针,一个指向下一个节点, 一个指向下下一个节点,如果下一个节点或者下下一个节点为空,则为null。 操作为插入,删除,修改。 博客:...
定义、实现并测试一个双向链表结点类DNode。...编写主程序:输入不少于3组x、y整数,分别利用左侧和右侧插入结点函数组织数据为双向链表,测试输出链表中每个结点的左侧和右侧相邻节点内容,测试对左右侧结点的删除。