链表的C语言实现之单链表的查找运算

2016-02-19 20:55 2 1 收藏

get新技能是需要付出行动的,即使看得再多也还是要动手试一试。今天图老师小编跟大家分享的是链表的C语言实现之单链表的查找运算,一起来学习了解下吧!

【 tulaoshi.com - 编程语言 】


  建立了一个单链表之后,假如要进行一些如插入、删除等操作该怎么办?所以还须把握一些单链表的基本算法,来实现这些操作。单链表的基本运算包括:查找、插入和删除。下面我们就一一介绍这三种基本运算的算法,并结合我们建立单链表的例子写出相应的程序。
  
  1、查找
  
  对单链表进行查找的思路为:对单链表的结点依次扫描,检测其数据域是否是我们所要查好的值,若是返回该结点的指针,否则返回NULL。
  
  因为在单链表的链域中包含了后继结点的存储地址,所以当我们实现的时候,只要知道该单链表的头指针,即可依次对每个结点的数据域进行检测。
  
  以下是应用查找算法的一个例子:
  
  #include <stdio.h>
  #include <malloc.h>
  #include <string.h> /*包含一些字符串处理函数的头文件*/
  #define N 10
  typedef strUCt node
  {
   char name[20];
   struct node *link;
  }stud;
  
  stud * creat(int n) /*建立链表的函数*/
  {
   stud *p,*h,*s;
   int i;
   if((h=(stud *)malloc(sizeof(stud)))==NULL)
   {
  printf("不能分配内存空间!");
  exit(0);
   }
   h->name[0]='

来源:http://www.tulaoshi.com/n/20160219/1624849.html

延伸阅读
一个简单的链表模版类的实现 作者:Smoke 源代码下载     这是翻阅 《数据结构、算法与应用—— C++语言描述》 以及在网上得到的一些资料后写出来的。起因是在项目中要用到一个链表,但我做一个简单的链表在C++中用的时候跟C差别很多,比如赋值运算(编...
Word-BREAK: break-all; PADDING-TOP: 4px; BORDER-BOTTOM: windowtext 0.5pt solid">#include stdio.h #include stdlib.h typedef int elemType; /************************************************************************/ /*           ...
本课主题: 实验二 循环链表实验 教学目的: 把握单向链表的实现方法 教学重点: 单向链表的存储表示及操作 教学难点: 单向链表的操作实现 授课内容: 一、单向链表的存储表示 C源程序 二、单向链表的基本操作 C源程序
C语言以其简洁、灵活、表达能力强,产生的目标代码质量高,可移植性好而著称于世。巧妙、灵活地运用C可以进一步挖掘出其潜在的功能。 1、字符数组和字符指针 指针和数组是C最具特色的一部分。数组是占用预分配的连续空间,C语言中对连续空间的访问可以有以下几种方法:加下标构成数组是最直接的;常量字符串也可...
虚拟链表和类链表可以很好地实现这一点 T. W. Burger Thomas Wolfgang Burger Consulting公司的老板 2000 年 9 月 内容: 简化的问题 C 代码解决方案 C++ 解决方案 小结 参考资源 作者简介 您是否做过这样一个项目,它要求您在内存中保存数目不定的若干不同对象?对于某些情况...

经验教程

488

收藏

77
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部