首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    算法与数据结构之一------顺序表

    /**************************************************************** 文件内容:线性表之顺序表操作 版本V1.0 时间:2013-12-12 说明:顺便表其实就是一个数组,在数组附近添加一个标记指针。 顺序表读和写操作方便,有效信息大(相比链表来说),但查找,插入,删除效率低。 通常一个数据结构只涉及到读和写操作,一般使用顺序表来描述,而涉及到 查找,插入删除,等耗时操作,一般使用链表。  *****************************************************************/  #include<stdio.h> #include<stdlib.h> //#define RELEASE_VERSION  //release版本开关 //#define TRIDiTION /*inlude<malloc.h> stdlib.h 包含malloc.h*/ #ifdef RELEASE_VERSION #define  Log  #else #define  Log  printf #endif #define MAX 15 /*为了提高程序的可移植性,千万不能使用裸露的数据类型*/ #ifndef UINT32  typedef unsigned int UINT32 ; #endif #ifndef INT32  typedef  int  INT32 ; #endif /*定义一个顺序表*/ #ifndef TRIDiTION typedef  struct { UINT32 tab[MAX]; //数组来描述顺序表 UINT32 probe;  //顺便表的位置标志 } SeqList; #else /*也可以使用传统的结构体,传统中struct SeqList = 新型的SeqList*/   struct SeqList { UINT32 tab[MAX]; UINT32 probe; } ; #endif  /**************************************************************** 函数功能:初始化顺序表                         输入参数:  无 返回值: 顺序的表的标头指针  作者:HFL  时间:2013-12-12  *****************************************************************/              #ifdef TRIDiTION   struct SeqList * Init_Seqlist() #else   SeqList * Init_Seqlist() #endif  { #ifdef TRIDiTION     struct SeqList * P;     P =( struct SeqList *)malloc(sizeof(SeqList)); #else     SeqList *P; P =( SeqList *)malloc(sizeof(SeqList)); #endif if (!P) { Log("malloc is failed! \n"); } else { Log("malloc is secussed!\n"); } P->probe = -1;     return P; }   /**************************************************************** 函数功能:反初始化顺序表                         输入参数:  无 返回值: 顺序的表的标头指针  作者:HFL  时间:2013-12-12  *****************************************************************/              #ifdef TRIDiTION   void  Uninit_Seqlist(SeqList * L) #else   void Uninit_Seqlist(SeqList * L) #endif  { free (L); return ; }  /******************************

    01
    领券