数据结构 学习C
学习代码
CodeCode!
“Stay hungry,stay foolish!”
展开
-
9.3、直接插入排序---学习笔记
9.3、直接插入排序—学习笔记#include <stdio.h>void swap(int arr[] , int i , int j){ int t = arr[i]; arr[i] = arr[j]; arr[j] = t;}int main(){ //直接插入排序 int a[10] = {9,1,5,8,3,7,4,6,2,0}; int len = sizeof(a) / sizeof (int); int原创 2021-08-16 16:30:49 · 62 阅读 · 0 评论 -
9.2、简单的选择排序---学习笔记
9.2、简单的选择排序#include <stdio.h>void swap(int arr[] , int i , int j){ int t = arr[i]; arr[i] = arr[j]; arr[j] = t;}int main(){ //简单的选择排序 int arr[10] = {9,1,5,8,3,7,4,6,2,0}; int len = 10; for(int i = 0 ; i < le原创 2021-08-16 16:24:20 · 48 阅读 · 0 评论 -
9.1、冒泡排序---学习笔记
冒泡排序#include <stdio.h>#define MAXSIZE 10000 /* 用于要排序数组个数最大值,可根据需要修改 */typedef struct{ int r[MAXSIZE+1]; /* 用于存储要排序数组,r[0]用作哨兵或临时变量 */ int length; /* 用于记录顺序表的长度 */}SqList;void print(SqList L){ int i; for(i=1;i<L.length;原创 2021-08-16 16:00:00 · 72 阅读 · 0 评论 -
4.2、KMP算法
4.2、KMP算法#include <stdio.h>#include <string.h>#include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 100 /* 存储空间初始分配量 */typedef int Status; /* Status是函数的类型,其值是函数结果状态代码,如OK等 */typedef int El原创 2021-07-31 14:45:37 · 131 阅读 · 0 评论 -
4.1、串的基本操作
4.1、串的基本操作#include <stdio.h>#include <stdlib.h>#include <string.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 40 /* 存储空间初始分配量 */typedef int Status;typedef int ElemType;typedef char String[MAXSIZE原创 2021-07-30 15:27:18 · 150 阅读 · 0 评论 -
2.3、链栈结构
2.3、链栈结构//链栈结构#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 //存储空间初始typedef int Status;typedef int SElemType; /* SElemType类型根据实际情况而定,这里假设为int */typedef struct Sta原创 2021-07-30 15:25:30 · 41 阅读 · 0 评论 -
2.1、顺序栈
2.1、顺序栈//顺序栈#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 //存储空间typedef int Status;typedef int SElemType;/* SElemType类型根据实际情况而定,这里假设为int *///顺序栈结构typedef struct{原创 2021-07-30 15:23:56 · 55 阅读 · 0 评论 -
1.4、双链表
1.4、双链表//双链表#include <stdio.h>#include <malloc.h>typedef int ElemType;typedef struct DNode{ ElemType data; struct DNode *prior; //指向前驱结点 struct DNode *next; //指向后继结点}DLinkNode; // 声明双链表结点类型//头插法建立 双链表void CreateListF(DL原创 2021-07-30 15:22:42 · 61 阅读 · 0 评论 -
1.3、静态链表
1.3、静态链表#include <stdio.h>#include <stdlib.h>#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 1000typedef int Status;typedef char ElemType;typedef struct{ ElemType data; int cur; /* 游标(Cursor) ,为0时表原创 2021-07-30 15:22:07 · 55 阅读 · 0 评论 -
1.2线性表的链式存储结构 C
1.2、线性表的链式存储结构#include <stdio.h>#include <stdlib.h>#include "math.h"#include "time.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0typedef int Status;typedef int ElemType;#define MAXSIZE 20//线性表的单链表存储结构typedef struct原创 2021-07-30 15:20:48 · 58 阅读 · 0 评论 -
线性表的顺序存储结构
1.1、线性表的顺序存储结构#include "stdio.h"#include "stdlib.h"#define OK 1#define ERROR 0#define TRUE 1#define FALSE 0#define MAXSIZE 20 //存储空间初始值typedef int ElemType;typedef struct{ ElemType data[MAXSIZE]; int length;}SqList;typedef int Stat原创 2021-07-30 15:19:22 · 42 阅读 · 0 评论