/* SeqList.c*/
/*线性表的顺序表示:函数实现*/#include <stdio.h>
#include <stdlib.h>
//#include "SeqList.h"//#define MAXNUM 100
typedef int DataType;typedef struct SeqList
{int MAXNUM;int n;int *element;
} PSeqList;PSeqList *createNullList_seq(DataType m)
{/* 创建新的顺序表 */PSeqList *palist = (PSeqList *)malloc(sizeof(struct SeqList));if (palist!=NULL){palist->element = (int*)malloc(sizeof(DataType)*m);if (palist->element){palist->MAXNUM=m;palist ->n = 0;                 /* 空表长度为0 */return (palist);}else free(palist);}printf("Out of space!!\n");       /* 存储分配失败 */return NULL;
}int  isNullList_seq( PSeqList *palist )
{/*判别palist所指顺序表是否为空表。*/return ( palist->n == 0 );
}int  locate_seq( PSeqList *palist,DataType x)
{/*求x在palist所指顺序表中的下标 */int q;for ( q=0; q<palist->n; q++) if(palist->element[q] == x)  return (q);return  (-1);
}int insertPre_seq(PSeqList *palist,DataType p,DataType x)/* 在palist所指顺序表中下标为p的元素之前插入元素x */{ int q;if ( palist->n >= palist-> MAXNUM ) {          /* 溢出 */printf("Overflow!\n");return ( 0 );}if (isNullList_seq(palist)) {         /*空顺序表插入 */palist->element[0] = x;                  /* 插入元素x */palist->n = 1;               /* 元素个数为1 */return ( 1 );}if (p<0  ||  p>palist->n  )  {           /* 不存在下标为p的元素 */printf("Not exist! \n");  return (0 );}for(q=palist->n - 1; q>=p; q--)  /* 插入位置及之后的元素均后移一个位置 */palist->element[q+1] = palist->element[q];palist->element[p] = x;                  /* 插入元素x */palist->n = palist->n + 1;               /* 元素个数加1 */return ( 1 );
}int insertPost_seq(PSeqList *palist, DataType p, DataType x)
/* 在palist所指顺序表中下标为p的元素之前插入元素x */
{ int q;if ( palist->n >= palist-> MAXNUM ) {         /* 溢出 */printf("Overflow!\n");return ( 0 );}if ( isNullList_seq(palist) ) {           /*空顺序表插入 */palist->element[0] = x;                  /* 插入元素x */palist->n = 1;               /* 元素个数为1 */return ( 1 );}if (p<0  ||  p>palist->n  )  {           /* 不存在下标为p的元素 */printf("Not exist! \n");  return (0 );}for(q=palist->n - 1; q>p; q--)  /* 插入位置及之后的元素均后移一个位置 */palist->element[q+1] = palist->element[q];palist->element[p] = x;                    /* 插入元素x */palist->n = palist->n + 1;               /* 元素个数加1 */return ( 1 );
}int  deleteP_seq( PSeqList *palist, int p )
/* 在palist所指顺序表中删除下标为p的元素 */
{ int q;if (  p<0  ||  p>palist->n - 1 )       /* 不存在下标为p的元素 */{printf("Not exist!\n ");return  (0);}for(q=p; q<palist->n-1; q++)   /* 被删除元素之后的元素均前移一个位置 */palist->element[q] = palist->element[q+1];palist->n = palist->n - 1;          /* 元素个数减1 */return ( 1 );
}int deleteV_seq(PSeqList *palist,DataType q)
{if(locate_seq(palist,q)!=-1);if(deleteP_seq(palist,q)) return 1;else return 0;return 0;
}int  main()
{int i=0;PSeqList *palist;palist=createNullList_seq(60);insertPre_seq(palist,0,40);printf("%d",locate_seq( palist,40));if(!(isNullList_seq(palist))){for(i=0;i<40;i++) insertPre_seq(palist,0,39-i);}for(i=41;i<56;i++)insertPost_seq(palist, i, i);deleteP_seq(palist, 54 );deleteV_seq(palist,53);for(i=0;i<palist->n;i++)printf("%d\n",(palist->element[i]));printf("%d\n",locate_seq( palist,14));printf("%d\n",palist->n);return 0;}

数据结构源码笔记(C语言描述)汇总:

数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

数据结构源码笔记(C语言):直接插入排序

数据结构源码笔记(C语言):直接选择排序

数据结构源码笔记(C语言):置换-选择算法

数据结构源码笔记(C语言):Huffman树字符编码

数据结构源码笔记(C语言):Josephus问题之顺序表

数据结构源码笔记(C语言):Josephus问题之循环链接表

数据结构源码笔记(C语言):多项式合并

数据结构源码笔记(C语言):二叉树之叶子结点旋转销毁

数据结构源码笔记(C语言):哈夫曼树

数据结构源码笔记(C语言):集合的位向量表示

数据结构源码笔记(C语言):链接队列

数据结构源码笔记(C语言):链接栈

数据结构源码笔记(C语言):线性表的单链表示

数据结构源码笔记(C语言):线性表的顺序表示

数据结构源码笔记(C语言):栈的基本操作

数据结构源码笔记(C语言):中缀表达式

数据结构源码笔记(C语言):希尔插入排序

数据结构源码笔记(C语言):索引文件建立和查找

数据结构源码笔记(C语言):冒泡排序

数据结构源码笔记(C语言):快速排序

数据结构源码笔记(C语言):可变长度字符串的快速排序

数据结构源码笔记(C语言):基数排序

数据结构源码笔记(C语言):二路归并排序

数据结构源码笔记(C语言):堆排序

数据结构源码笔记(C语言):二叉树搜索树Kruskal

数据结构源码笔记(C语言):二叉搜索树Prim

数据结构源码笔记(C语言):最短路径弗洛伊德算法

数据结构源码笔记(C语言):深度、广度优先生成树

数据结构源码笔记(C语言):邻接矩阵转化邻接表

数据结构源码笔记(C语言):统计字符串中出现的字符及其次数

数据结构源码笔记(C语言):顺序查找

数据结构源码笔记(C语言):哈希表的相关运算算法

数据结构源码笔记(C语言):分块法查找

数据结构源码笔记(C语言):二分查找

数据结构源码笔记(C语言):二叉树遍历

数据结构源码笔记(C语言):二叉平衡树的相关操作算法

数据结构源码笔记(C语言):二叉排序树的基本操作算法

数据结构源码笔记(C语言):B树的相关运算算法

数据结构源码笔记(C语言):线性表的顺序表示相关推荐

  1. 数据结构源码笔记(C语言):线性表的单链表示

    /* LinkList.c*/ /*线性表的单链表示:函数实现*/#include <stdio.h> #include <stdlib.h> //#include " ...

  2. 数据结构源码笔记(C语言):Josephus问题之顺序表

    /*josephus_seq.c*/ /*Josephus问题: 顺序表实现*/#include <stdio.h> #include <stdlib.h>#define FA ...

  3. 数据结构源码笔记(C语言):哈希表的相关运算算法

    //实现哈希表的相关运算算法 #include<stdio.h> #include<malloc.h> #include<string.h>#define MaxS ...

  4. 数据结构源码笔记(C语言描述)汇总

    数据结构源码笔记(C语言):英文单词按字典序排序的基数排序 数据结构源码笔记(C语言):直接插入排序 数据结构源码笔记(C语言):直接选择排序 数据结构源码笔记(C语言):置换-选择算法 数据结构源码 ...

  5. 数据结构源码笔记(C语言):英文单词按字典序排序的基数排序

    //实现英文单词按字典序排序的基数排序算法#include<stdio.h> #include<malloc.h> #include<string.h>#defin ...

  6. 数据结构源码笔记(C语言):索引文件建立和查找

    //实现索引文件建立和查找算法#include<stdio.h> #include<malloc.h> #include<string.h> #include< ...

  7. 数据结构源码笔记(C语言):快速排序

    //实现快速排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  8. 数据结构源码笔记(C语言):冒泡排序

    //冒泡排序算法实现 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; type ...

  9. 数据结构源码笔记(C语言):希尔插入排序

    //实现希尔插入排序算法 #include<stdio.h> #include<malloc.h> #define MAXE 20typedef int KeyType; ty ...

最新文章

  1. Python 3 利用 Dlib 实现人脸检测和剪切
  2. sqlserver创建存储过程、函数、
  3. java基础---System类
  4. picker封装 uniapp_uniapp自定义picker城市多级联动组件
  5. python两列相乘_如何将pandas中具有不同索引的两列相乘?
  6. python和java的区别-python和java的区别,看了这个就会区分了!
  7. Atitit 表达式原理 语法分析 原理与实践 解析java的dsl  递归下降是现阶段主流的语法分析方法...
  8. C# DirectX.AudioVideoPlayback音频视频播放
  9. OI国家集训队论文集1999~2018
  10. 【NLP】依存句法关系符号解释
  11. 罗永浩2014 一个理想主义者的创业故事Ⅳ 演讲稿实录
  12. 神经网络之输出层设计
  13. 萤石视频监控模式的参数decoderPath配置问题
  14. 透视表中如何使用多条件中位数
  15. Linux时钟管理clk devm_clk_get clk_prepare_enable等学习
  16. FFMPEG中的两输入Filter实现(一)
  17. 离散数学笔记_第一章:逻辑和证明(1)
  18. 新闻组上看到一篇关于linux内核编译的文章,留待日后参考。
  19. 互联网+竞赛赛后总结
  20. Python-爬取今日头条美图

热门文章

  1. postman设置域名_Postman中文文档——证书(Certificates)
  2. 用python实现todolist_So easy !用 Python 开发一个todolist
  3. 处理报错:java/lang/NoClassDefFoundError: java/lang/Object
  4. linux查看占用内存最多的程序
  5. java学习-http中get请求的非ascii参数如何编码解码探讨
  6. UML Design Via Visual Studio-Sequence Diagram
  7. jae的mongo数据库管理工具(原创)
  8. ubuntu20.04安装noetic版本ros
  9. 云迹科技:站在酒店场景服务机器人的风口
  10. C#对Excel的一些操作【一】