在链表中获取一个数据、查找操作C语言实现

SN *Get_S_Node (
				SN *head
				)

{

	/* head 为要查询的链表的头指针 */
	SN *Get_S_Node = NULL;
	INT32 OSM = 1,i32i = 0, data_num = 0;				/* OSM是标志符,i32i是一个循环体内的变量,data为要获取的元素的序号 */
	Get_S_Node = ( SN * )malloc( sizeof (SN) );
	Get_S_Node = head;

	/* 输入要获取的数据 */
	OSM = OSM_Printf(" 输入要获取的序号");
	data_num = scanf_for();									/* 输入要获取元素的序号 */

	while ( i32i < data_num)								/* 遍历一下链表知道找到序号data */
	{
		Get_S_Node = Get_S_Node->next;					/* 指向下一个 */

		if ( data_num == Get_S_Node->Sensor_rating )		/* 判断是否是一个找到了序号 */
		{
			OSM = OSM_Printf("查询的序号是%d\n", data_num);		/* 找到了之后就打印 */

			if ( NULL != Get_S_Node->Sensor_title)        /* 检验传递参数的有效性 */
			{
				OSM = OSM_Printf(" 查询到的数据是%s\n",Get_S_Node->Sensor_title);
			}

		}

		i32i++;											/* 循环体变量加1 */
	}
	return head;
}

时间: 2024-10-26 22:27:22

在链表中获取一个数据、查找操作C语言实现的相关文章

在一组降序排列的数组中插入一个数据,插入后,数组中数据依然按降序排列

分析: 1.数组固定,是一个倒序的数组 2.插入一个数据,这个数据插在哪呢,要比较,与数组中所有的元素比较,这里需要一个循环,因为是降序的数组,所以当第一次遇到比自己小的,那么这个位置就是要插入的位置 3.因为上一步被占了位置,那么从这个插入的数据开始,后面的原本的数据都得向右移一位 /** * */ package com.cn.u4; import java.util.Scanner; /** * @author Administrator *向有序数组中插入学员成绩 * 在一组降序排列的数

009实现一个算法来删除单链表中的一个结点,只给出指向那个结点的指针(keep it up)

呵呵,这个题不能直接删除已知的结点,因为是单链表,不知道前驱,只知道 后继结点,直接删除会使链表断开.不过我们可以删除已知结点的后继结点, 把后继结点的值赋值给已知结点. #include <iostream> struct Node { int data; Node* next; }; bool removeNode(Node* vNode) { if (vNode == NULL || vNode->next == NULL) return false; Node* pNext =

链表中插入一个节点的三种情况

在链表中插入一个元素可以分为三种情况: 1.在节点的时候 2.在链表中间的任意位置 3.在链表的最后位置,也可以认为这种情况为追加(这个就留到追加的时候来实现) 下面是代码的实现 SN *Insert_S_Node( SN *head ) /* 传入的参数是被插入链表中的头指针 */ { SN *Insert_Node=NULL, *Dest_Node = NULL; /* Insert_Node是将要做成的新链表中的节点 Dest_Node是要插入的节点*/ INT32 OSM = 1, i3

[华为机试练习题]49.向升序单向链表中插入一个节点

题目 描述: 输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点. 输入为空指针的情况视为异常,另外不考虑节点值相等的情况. 链表结点定义如下: struct ListNode { int m_nKey; ListNode* m_pNext; }; 详细描述: 接口说明 原型: ListNode* InsertNodeToList(ListNode* pListHead, ListNode* pInsertNode); 输入参数: ListNode* pListHead 单向链表

如何从Zabbix数据库中获取监控数据

做过Zabbix的同学都知道,Zabbix通过专用的Agent或者SNMP收集相关的监控数据,然后存储到数据库里面实时在前台展示.Zabbix监控数据主要分为以下两类: 历史数据:history相关表,从history_uint表里面可以查询到设备监控项目的最大,最小和平均值,即存储监控数据的原始数据. 趋势数据:trends相关表,趋势数据是经过Zabbix计算的数据,数据是从history_uint里面汇总的,从trends_uint可以查看到监控数据每小时最大,最小和平均值流量. Zabb

Android中获取网络数据时的分页加载

//此实在Fragment中实现的,黄色部分为自动加载,红色部分是需要注意的和手动加载,    蓝色部分是睡眠时间,自我感觉不用写  ,还有就是手动加载时,不知道为什么进去后显示的就是最后一行,求大神指教 public class Fragment1 extends Fragment{               //加载的第几页        private int index = 0;            private List<News> news=new ArrayList<

【在网页中获取截图数据】Chrome和Firefox下的实战经验

[转载自我在segmentfault的专栏:https://segmentfault.com/a/1190000004584071] 最近在实现一个功能,需求如下: 前提:当前页面无弹窗 页面任意位置执行粘贴 读取剪切板中的截屏数据 上传截图 首先还是从网上找相关的例子. 找到了SF上的专栏文章<js获取剪切板内容,js控制图片粘贴>. 于是基于这个,做出了第一版的截图上传功能. 由于项目使用的是angularjs,事先已经封装好一套上传图片的办法,只需要调用 $scope.image = b

向升序单向链表中插入一个节点

#include "OJ.h" /* 功能: 输入一个升序单向链表和一个链表节点,向单向链表中按升序插入这个节点. 输入为空指针的情况视为异常,另外不考虑节点值相等的情况. 输入: ListNode* pListHead 单向链表 ListNode* pInsertNode 新插入节点 输出: ListNode* pListHead 单向链表 返回: 正常插入节点返回链表头指针,其它异常返回空指针 */ ListNode* InsertNodeToList(ListNode* pLis

android开发中获取&lt;meta-data&gt;数据

在 AndroidManifest.xml 中,<meta-data>元素是一个键值对,往往被包含在<application> .<activity>.<service>和<receiver>等元素中,但是不同父元素中<meta-data>读取方法也不同. <meta-data>基本结构:<meta-data android:name="string" android:resource="