![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
数据结构
Melody_my
这个作者很懒,什么都没留下…
展开
-
数据结构——单链表原地逆置(C语言)
单链表原地逆置#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct LNode{ ElemType data; LNode *next;}LNode,*LinkList;//创建LinkList initLinkList(int num){ LNode* head=(LNode *)malloc(sizeof(LN.原创 2020-10-05 17:21:00 · 1414 阅读 · 0 评论 -
数据结构——查找链表倒数第K个位置结点(C语言)
查找链表倒数第K个位置结点#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct LNode{ ElemType data; LNode *next;}LNode,*LinkList;//创建LinkList initLinkList(int num){ LNode* head=(LNode *)malloc(siz.原创 2020-10-05 16:27:48 · 1319 阅读 · 0 评论 -
数据结构——有序单链表原地合并(C语言)
将两个有序单链表进行合并,合并结果仍有序。(合并过程不占用其他存储空间)#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct LNode{ ElemType data; LNode *next;}LNode,*LinkList;//创建LinkList initLinkList(int num){ LNode* h.原创 2020-10-05 16:03:35 · 544 阅读 · 1 评论 -
数据结构——两个有序顺序表的合并(C语言)
-将两个非递减有序顺序表A和B合并成一个新的非递减有序表C#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct{ ElemType data[MAXSIZE]; int length;}SeqList;void InitList(SeqList &l){ l.length=0;}void CreateList原创 2020-10-05 13:52:17 · 9055 阅读 · 4 评论 -
数据结构——折半查找【并插入元素】(C语言)
二分查找(折半查找)#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010int RecurSearch(int A[],int low,int high,int key){ int flag=0; while(low<=high){ int mid=(low+high)/2; if(A[mid]==key){ printf("元素下标为.原创 2020-10-04 19:40:34 · 1219 阅读 · 1 评论 -
数据结构——双向循环链表(C语言)
1.双向循环链表的创建2.双向循环链表的插入3.双向循环链表的删除4.遍历双向循环链表#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct DuLNode{ ElemType data; struct DuLNode *prior,*next;}DuLNode,*DuLinkList;//创建双向循环链表DuLin.原创 2020-10-04 16:10:24 · 192 阅读 · 0 评论 -
数据结构——单链表(C语言)
1.头插法创建两个升序单链表2.使用两个单链表来合并两个单链表并按从大到小顺序排列3.结果打印4.在合并链表中查找指定的值5.求表长6.删除指定值7.指定位置插入值#include<stdio.h>#include<stdlib.h>typedef struct LNode{ int data; struct LNode *next;}LNode,*LinkList;LinkList initLinkList(){ LNode* h.原创 2020-10-03 15:37:23 · 201 阅读 · 0 评论 -
数据结构——顺序表(C语言)
数据结构——顺序表基本操作(C语言)1.初始化2.创建3.插入4.删除5.按值查找6.打印#include<stdio.h>#include<stdlib.h>#define MAXSIZE 10010#define ElemType inttypedef struct { ElemType data[MAXSIZE]; int length;}SeqList;//顺序表初始化bool InitList(SeqList *l){原创 2020-10-03 14:21:28 · 351 阅读 · 0 评论 -
KMP算法
算法简介KMP算法是一种改进的字符串匹配算法,由D.E.Knuth,J.H.Morris和V.R.Pratt提出的,因此人们称它为克努特—莫里斯—普拉特操作(简称KMP算法)。KMP算法的核心是利用匹配失败后的信息,尽量减少模式串与主串的匹配次数以达到快速匹配的目的。具体实现就是通过一个next()函数实现,函数本身包含了模式串的局部匹配信息。KMP算法的时间复杂度O(m+n)。算法原理现在先给两个字符串,我们的目的就是要寻找模式串与主串中所有字符都匹配的位置,并返回模式串第一个元素的下标。第一轮:原创 2020-07-17 07:43:32 · 148 阅读 · 0 评论