
数据结构和算法
落晴
这个作者很懒,什么都没留下…
展开
-
JS 实现快速排序
JS 实现快速排序 代码 function Sort(arr, l, r) { if (l >= r) return; let i = l, j = r, temp = arr[l]; while (i < j) { while (i < j && arr[j] >= temp) j--; arr[i] = arr[j]; while (i < j && arr[i] <原创 2021-02-10 16:14:47 · 182 阅读 · 0 评论 -
迷宫问题
问题描述: 编写一个程序exp3-5.cpp,输出下图迷宫中的最短路径。 算法分析: 采用队列,利用其先进先出的特性,每次队列元素出完时每条路径长度仅增加1,说简单点就是,每次各个方块只往后走一格,看谁最先到出口,则该路径就是最短路径。 代码展示: #include "pch.h" #include <iostream> using namespace std; typedef s...原创 2019-06-13 12:03:08 · 932 阅读 · 0 评论 -
用栈求解n皇后问题
问题描述: 编写一个程序求解n皇后问题,即在m×n的方格棋盘上放置n个皇后,要求每个皇后不同行、不同列、不同左右对角线,下图是八皇后问题的一个解。(1)皇后个数n由用户输入,其值不能超过20,输出所有的解。(2)采用类似于用栈求解迷宫问题的方法。 代码展示: #include <stdio.h> #include <stdlib.h> #define MaxSize 10...原创 2019-06-15 11:27:07 · 3500 阅读 · 0 评论 -
匹配字符串
问题描述: 分别输入字符串1和字符串2,若在字符串1中匹配到字符串2,则输出匹配位置。 代码展示: #include "pch.h" #include <iostream> #include <String> using namespace std; #define MaxSize 100 typedef struct { char data[MaxSize]; int...原创 2019-06-17 16:06:59 · 237 阅读 · 0 评论 -
以x为基准,将源链表分成比x小的部分和比x大的部分,小的部分在前大的部分在后生成新链表。
问题描述: 以x为基准,将源链表分成比x小的部分和比x大的部分,小的部分在前大的部分在后生成新链表。 代码段: #include "pch.h" #include <iostream> using namespace std; int main() { typedef int ElemType; typedef struct LNode { ElemType data; ...原创 2019-06-12 00:16:22 · 358 阅读 · 0 评论 -
先遍历两个链表,得到长度,再比较长度,循环次数为长度小的那一个链表的长度,运用尾插法插入节点。
问题描述: 先遍历两个链表,得到长度,再比较长度,循环次数为长度小的那一个链表的长度,运用尾插法插入节点。 代码展示: #include "pch.h" #include <iostream> using namespace std; int main() { typedef int ElemType; typedef struct LNode { ElemType dat...原创 2019-06-12 09:47:39 · 436 阅读 · 0 评论