数据结构
孤独的马铃薯
这个作者很懒,什么都没留下…
展开
-
回车跳出输入的方法
在死循环中加入if(getchar() == '\n')即可 break;测试程序如下:#include <stdio.h>int main(){ int a[10]; int i = 0; int count = 0; //输入 printf("请输入:"); do{ scanf("%d",&a...原创 2019-01-31 18:43:11 · 1260 阅读 · 2 评论 -
线性表的顺序存储实现(数组)
数据对象集:线性表是个元素构成的有序序列操作集:线性表,整数i表示位置,元素线性表主要操作如下:List MakeEmpty(); //初始化一个空线性表ElementType FinKth(int K,List PtrL);//根据位序K,返回相应元素(按序号查找)int Find(ElementType X,List PtrL,int Pst[]);//在线性表中查找X的位置...原创 2019-01-31 20:52:45 · 769 阅读 · 0 评论 -
线性表的链式存储实现(链表)
在本篇文章中我们使用不带头结点链表来实现线性表的一系列操作。1.初始化不带头结点链表的初始化,只需要将链表头指针head赋值为NULL即可。该操作同样可以简单地在主函数中,直接对head赋初值实现。/*初始化 *函数功能:初始化线性表 *传入形参:线性表指针 PtrL *返回值:无 */void MakeEmpty(List* PtrL){ *PtrL = NU...原创 2019-02-08 18:20:45 · 969 阅读 · 0 评论 -
最大子列和问题【简单易懂】
问题:给定N个整数的序列,求函数的最大值。算法一:例如序列为{1,2,3,4},所以子列分别为:{1},{1,2},{1,2,3},{1,2,3,4}; {2},{2,3},{2,3,4}; {3},{3,4}; {4}。我们要做的就是依次将这些子列的和求出并比较,得出最大子列和。首先将“1”位置作为左端的所有子列进行比较,在依次进行递加的过程中比较。1.当前子列为{1...原创 2019-01-30 17:18:07 · 881 阅读 · 0 评论 -
顺序查找与"哨兵"的使用&&二分查找
查找:根据某个给定关键字X,从集合R中找出关键字与X相同的记录。数组构成:typedef struct LNode *List;struct LNode{ ElementType Data[MAXSIZE]; int Last;//存储最后一个元素位置(记录长度)}LNode;一. 顺序查找1.不带“哨兵”的顺序查找由于不带“哨兵”,数组的第一个位置(Data[0]...原创 2019-02-11 19:26:52 · 5981 阅读 · 3 评论