1.创建一个队列时,空队列中队首和队尾相同,但不是NULL,队首后面挂的元素才是NULL 2.打印队列时,对于链队列,不能把指针加一来找到下一个数据,因为链表地址不连续,需要复制一条链表,不断往后遍历来挨个打印链表的数据 3.求队伍的长度也是,不能首尾指针相减,因为地址不连续,所以同样需要复制一条链表,通过遍历来求长度 代码如下: #include<stdlib.h> #include<stdio.h> /*************************************…
代码如下: #include<stdio.h> #include<stdlib.h> typedef struct { char *base; char *top; int stacksize; }sqStack; ////////////////////////////////////// //创建一个栈 #define STACK_SIZE 100 void initstack(sqStack *stack ) { stack->base = (char*)malloc(…
本篇文章是为了记录自己在学习数据结构时的笔记,会对常见的数据结构做基本的介绍以及使用Java语言进行实现.包括 动态数组 栈 队列 链表 二分搜索树 优先队列和堆 线段树 Trie树 并查集 AVL树 红黑树 哈希表 动态数组 API介绍 数组是一种根据下标操作的数据结构,它的查询速度很快,但是它有缺点,那就是数组的容量一旦在创建时确定,就不能进行更改,所以为了克服这一缺点,我们实现一个自己的数组,并除此以外,还会实现一些方法,包括以下 add(int index, E e) 向指定index添…
关于链表我觉得这都是最基本的东西,但是不常见,在实际的应用中很少的使用,了解它会用就OK,不需要研究的那么深,除非做那种内存压缩,存储方面工作. C语言中动态申请空间 malloc() q=(dlink *)malloc(sizeof(dlink)); 在内存空间不足或者栈满的情况下,就需要重新申请内存,此时可以使用malloc动态的申请栈,当无法知道内存具体位置的时候,想要绑定真在的存储空间,就需要用到动态的分配内存.malloc 向系统申请分配指定size个字节的内存空间.返回类型是 voi…
数据结构C语言版 表插入排序.txt两个人吵架,先说对不起的人,并不是认输了,并不是原谅了.他只是比对方更珍惜这份感情./*  数据结构C语言版 表插入排序  算法10.3 P267-P270  编译环境:Dev-C++ 4.9.9.2*/ #include <stdio.h>#include <limits.h> // 静态链表类型 #define SIZE 100 // 静态链表容量 typedef int KeyType; // 定义关键字类型为整型 typedef int …
在普通队列中,元素出队的顺序是由元素入队时间决定的,也就是谁先入队,谁先出队.但是有时候我们希望有这样的一个队列:谁先入队不重要,重要的是谁的"优先级高",优先级越高越先出队.这样的数据结构我们称之为优先队列(priority queue),其常用于一些特殊应用,比如操作系统控制进程的调度程序. 那么,优先队列该如何实现呢?我们可以很快给出三种解决方案. 1.使用链表,插入操作选择直接插入到表头,时间复杂度为O(1),出队操作则遍历整个表,找到优先级最高者,返回并删除该结点,时间复杂度…
继续介绍本人的python学习过程.本节介绍如何利用python调用c代码.内容还是基于音乐信息提取的过程,架构如图一.Python调用c实现的功能是利用python访问c语言完成mysql数据库操作. 在利用python调用c语言之前,我们需要首先完成c语言功能代码,然后再考虑语言的转换问题,所以我们先介绍c语言实现的数据库访问代码.数据库操作主要包括DDL和DML,DDL在创建数据库和表时完成,c语言完成的是DML.在具体的实现中,c语言主要完成了:连接数据库,insert和select三个…
<数据结构-C语言版>(严蔚敏,吴伟民版)课本源码+习题集解析使用说明 先附上文档归类目录: 课本源码合辑  链接☛☛☛ <数据结构>课本源码合辑 习题集全解析  链接☛☛☛ <数据结构题集>习题解析合辑 ★教材及习题源码下载★ 链接☛☛☛  严蔚敏<数据结构>课本与习题源码(GitHub仓库) 博主有话说: 01.自学编程,难免思路阻塞,故我在本博客陆续更新了严蔚敏,吴伟民版<数据结构-C语言版>各章节的课本源码和配套习题集答案解析,目的是为了…
数据结构(C语言)—排序 排序 排序是按关键字的非递增或递减顺序对一组记录中心进行排序的操作.(将一组杂乱无章的数据按一定规律顺次排列起来.) 未定列表与不稳定列表 假设 Ki = Kj ( 1 ≤ i ≤ n,1 ≤ j ≤ n,i ≠ j ),在序列前尚未序列中 Ri 领先于 Rj(即  i < j ).若在排序前后的绿鬣中 Ri 仍大于 Rj ,则称所有的排序方法为稳定的,反之为不稳定. 内部排序 待排序记录全部存放在计算机的内存中进行排序的过程. 外部排序 待排序记录数量很大,以至于内存…
fopen(打开文件) 相关函数 open,fclose 表头文件 #include<stdio.h> 定义函数 FILE * fopen(const char * path,const char * mode); 函数说明 参数path字符串包含欲打开的文件路径及文件名,参数mode字符串则代表着流形态.mode有下列几种形态字符串:r 打开只读文件,该文件必须存在.r+ 打开可读写的文件,该文件必须存在.w 打开只写文件,若文件存在则文件长度清为0,即该文件内容会消失.若文件不存在则建立该…