Refresh-air

清风明月本无价 近水远山皆有情
记载自己在码砖过程中遇到的点点滴滴.......

 

线性表----学习笔记

一、线性表的定义
   线性表是具有相同数据类型的n个数据元素的有限序列(n大于等于0),通常记为(a1,a2,.......ai-1,ai,ai+1,......an)  其中n为表长,当n为0时称为空表。将ai-1称为ai的直接前驱,ai+1称为ai的直接后继。
二、线性表的基本运算
1,线性表的初始化(构造一个空的线性表)
2,求表长
3,取第i个数据元素
4,查找具有特定值的结点,确定其序号
5,插入操作(在原表的第i个位置上插入新元素)
6,删除操作(删除原表中第i个元素)
三、线性表的顺序存储以及运算实现
1,顺序表的表示方法
      用一组地址连续的存储单元依次存放线性表的元素。
2,顺序表的特定
      逻辑上相邻的元素在物理存储上亦相邻;
      任一元素的存取时间相同,是一种随机存取结构。
3,顺序表的基本运算
      a)顺序表的初始化
         
Code

       b) 顺序表的插入操作
          
Code

       c) 顺序表的删除操作
            
Code

     四、线性表的链式存储和运算的实现
1,单链表
      结点结构:
       链表中每个结点有一个存放数据元素的域,另有一个域存放指向后继结点的指针(表示逻辑关系),故称为单链表。
Code
      
   说明: 指针变量head中存放了链表中第一个结点的起始地址,称之为头指针。该指针变量是“静态”定义的,即用NODE * head;定义了指针变量head。链表中的   结 点是 “动态”生成的(称之为结点变量),每个结点可以存放一个数据元素和后继结点的起始地址。最后一个结点因为没有后继结点,故其指针域中存放NULL(空地址)。 当链表中没有数据元素时称为空表。
2,单链表的建立
    在单链表的尾部插入结点建立单链表
Code
    在单链表的头部插入结点建立单链表
Code
3,单链表的插入操作
 
Code
4,单链表的删除操作
Code
5,循环链表
6,双向链表
7,静态链表

posted on 2008-04-16 22:06  笑清风  阅读(351)  评论(0编辑  收藏  举报

导航