数据结构
c/linux/python爱好者
快乐代码
展开
-
反转链表的4种方法c++实现
1翻译 2022-03-18 16:24:39 · 11456 阅读 · 0 评论 -
二叉树的层次和先中后序遍历c++实现
class Solution {public: vector<vector<int>> levelOrder(TreeNode* root) { vector<vector<int>> res; if (!root) { return res; } queue<TreeNode*> q; q.push(root); .原创 2021-08-26 10:45:58 · 126 阅读 · 0 评论 -
Bf算法与kmp算法
#include <stdio.h>#include <string.h>// 采用BF算法,查找在目标串sstr中模式串tstr出现的位置,字符串的起始位置从0开始。// 只要在目标串sstr中找到了第一个模式串tstr,函数就返回。// 成功返回模式串tstr在目标串sstr中第一次出现的数组下标,失败返回-1。//pos可以设置开始位置int BF(string s1, string s2, int pos){ int i = pos-1; int j =.原创 2021-08-24 11:39:43 · 111 阅读 · 0 评论 -
循环链表、双链表与阿瑟夫问题实现
//循环链表实现初始化、插入#include<stdio.h>#define status bool#define OK true#define ERROR false#define YES true#define NO falsetypedef struct Lnode{ int data; struct Lnode *next;}Lnode,*LinkList;void init(LinkList *L,int n){ int i; *L=(Lnode.翻译 2021-08-20 21:35:42 · 131 阅读 · 0 评论 -
有序单链表合并和单链表反转
//递归的方法LinkList mergeTwoList2(LinkList l1,LinkList l2){ if(l1 == NULL) { return l2; } if(l2 == NULL) { return l1; } else if(l1->data <= l2->data) { l1->next = mergeTwoList2(l1->next, l2); return l1; } else { l2->.翻译 2021-08-19 20:17:07 · 130 阅读 · 0 评论 -
单链表基本操作
#include<iostream>using namespace std;typedef struct Lnode{ int data; struct Lnode *next;}Lnode,*LinkList;//前插法 void create_H(LinkList *L,int n){ int i; LinkList p; *L=new Lnode; (*L)->next=NULL; cout<<"请输入n个结点的元素值\n"; for(i=.原创 2021-08-16 11:04:52 · 72 阅读 · 0 评论