
数据结构
文章平均质量分 76
呆呆的鸭
这个作者很懒,什么都没留下…
展开
-
第一次写数据结构增删改查,按照工程写
***main函数中***#include <stdio.h>#include "list.h"int main(){ int i,a,s; ElemType e; SqList sqlist; SqList *L=&sqlist;/////////////////////////////////// int t=InitList(L); if(t==O...原创 2020-04-27 16:14:43 · 153 阅读 · 0 评论 -
数据结构链式存储
#ifndef STATUS_H#define STATUS_H#define TRUE 1#define FALSE 0#define OK 1#define ERROR 0#define INFEASIBLE -1#define OVERFLOW -2typedef int Status;typedef ...原创 2020-05-03 22:02:42 · 175 阅读 · 0 评论 -
数据结构栈存储方法1
#include <stdio.h> #include "stack.h" #include "status.h" Status InitStack(SqStack *s){//初始化 s->elem=(SElemType *)malloc(STACK_INIT_SIZE*sizeof(SElemType)); if(s->elem==NULL) { return ERROR; } s->length=0; s..原创 2020-05-09 07:59:21 · 243 阅读 · 0 评论 -
数据结构的用法栈
#ifndef STATUS_H#define STATUS_H//函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 //Status是函数的类型,其值是函数结果状态代码 typedef int Status; typedef int SElemType; #endif```cpp#ifndef STAC原创 2020-05-09 18:38:36 · 220 阅读 · 0 评论 -
数据结构链栈
#ifndef STATUS_H#define STATUS_H//函数结果状态代码 #define TRUE 1 #define FALSE 0 #define OK 1 #define ERROR 0 #define INFEASIBLE -1 #define OVERFLOW -2 //Status是函数的类型,其值是函数结果状态代码 typedef int Status; typedef int SElemType; #endif```cpp#ifndef STACK原创 2020-05-10 18:01:10 · 160 阅读 · 0 评论 -
队列顺序存储
#ifndef STATUS_H#define STATUS_H#define OK 1#define ERROR 0#define FALSE -1#define TRUE 1typedef int ElemType;typedef int Status;#endif#ifndef STACK_H#define STACK_H#include "status.h"#include <stdio.h>#define MAXSIZE 20typedef struct原创 2020-05-19 13:17:32 · 188 阅读 · 0 评论 -
队列链式存储
#ifndef STATUS_H#define STATUS_H#define FALSE -1#define TRUE 1#define OK 1#define ERROR 0typedef int ElemType;typedef int Status;#endif#ifndef STACK_H#define STACK_H#include <stdio.h>#include "status.h"typedef struct Node{ struct N原创 2020-05-19 13:44:13 · 210 阅读 · 0 评论 -
length队列
#ifndef STATUS_H#define STATUS_H#define OK 1#define ERROR 0#define FALSE -1#define TRUE 1typedef int ElemType;typedef int Status;#endif#ifndef STACK_H#define STACK_H#include "status.h"#include <stdio.h>#define MAXSIZE 20typedef struct原创 2020-05-25 16:59:14 · 245 阅读 · 0 评论 -
选择排序——思路及代码实现
1、算法思想:选择排序,从头至尾扫描序列,找出最小的一个元素,和第一个元素交换,接着从剩下的元素中继续这种选择和交换方式,最终得到一个有序序列。2、算法过程举个栗子(第一趟的排序过程)原始序列:49、38、65、97、76、13、27、491)在进行选择排序过程中分成有序和无序两个部分,开始都是无序序列结果:49、38、65、97、76、13、27、492)从无序序列中取出最小的元素13,将13同无序序列第一个元素交换,此时产生仅含一个元素的有序序列,无序序列减一结果:{13、}原创 2020-07-02 16:44:36 · 623 阅读 · 0 评论 -
插入排序——思路及代码实现
基本思想:每一步将一个待排序的数据插入到前面已经排好序的有序序列中,直到插完所有元素为止。算法实现:直接插入排序是将无序序列中的数据插入到有序的序列中,在遍历无序序列时,首先拿无序序列中的首元素去与有序序列中的每一个元素比较并插入到合适的位置,一直到无序序列中的所有元素插完为止。对于一个无序序列arr{6,3,5,7,0}来说,我们首先先确定首元素6是有序的,然后在无序序列中向右遍历,6大于3则它插入到6的前面,再继续遍历到5,5小于6则插入到6的前面,这样继续直到得到有序序列{0,3,5,6,7}。原创 2020-07-02 16:04:35 · 237 阅读 · 0 评论 -
二分查找——思路及代码实现
Although the basic idea of binary search is comparatively straightforward, the details can be surprisingly tricky...这句话可以这样理解:思路很简单,细节是魔鬼。二分查找的一个优秀作者:https://leetcode-cn.com/problems/find-first-and-last-position-of-element-in-sorted-array/solution/er-f原创 2020-06-26 16:08:02 · 276 阅读 · 0 评论 -
快速排序(交换排序)——思路及代码实现
快速排序: 快速排序是冒泡排序的改进版,也是最好的一种内排序,在很多面试题中都会出现,也是作为程序员必须掌握的一种排序方法。 基本步骤为: 1.在待排序的元素任取一个元素作为基准(通常选第一个元素,但最的选择方法是从待排序元素中随机选取一个作为基准),称为基准元素; 2.将待排序的元素进行分区,比基准元素大的元素放在它的右边,比其小的放在它的左边; 3.对左右两个分区重复以上步骤直到所有元素都是有序的。 下面来看一个完整的演示过程:...原创 2020-06-26 13:47:11 · 499 阅读 · 1 评论 -
数据结构——图——基础——总结:
图(Graph)G由顶点集合V(G)和边集合E(G)构成。顶点的编号为0~n-1。通过编号唯一确定一个顶点。在图G中,如果代表边的顶点对是无序的,则称G为无向图。用圆括号序偶表示无向边。(0,1)如果表示边的顶点对是有序的,则称G为有向图。用尖括号序偶表示有向边。<0,1>(通俗点讲有箭头的是有向图,无箭头的是无向图)无向图:表示形式, ...原创 2020-06-23 22:08:06 · 2610 阅读 · 0 评论