数据结构与算法
大海里捡宝贝
本人从事智能驾驶算法开发,擅长传感器标定/感知算法/端到端智能驾驶等技术领域。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
二叉树---遍历
BinaryTree.h: #pragma once #include <queue> template<class T> class BinaryTree; template<class T> class TreeNode { public: TreeNode() :leftChild(NULL), rightChild(NULL) { ...原创 2019-02-10 22:04:03 · 292 阅读 · 0 评论 -
基数排序
#include <iostream> #include <list> using namespace std; void print(int data[], int n) { cout << "{ "; for (int i = 0; i < n; i++) { cout << data[i] &l...原创 2019-02-07 20:54:11 · 298 阅读 · 0 评论 -
链式队列
#pragma once template<class Object> class Queue { public: Queue(); ~Queue(); bool isEmpty() const; const Object& GetFront() const;//拿出队首的数据 void enqueue(const Object&a...原创 2019-02-07 09:54:07 · 417 阅读 · 0 评论 -
链式栈
#pragma once using namespace std; template<class T> class LinkedStack; template<class T> class ChainNode { friend class LinkedStack<T>; private: ChainNode(const T& the...原创 2019-02-06 22:19:38 · 221 阅读 · 0 评论 -
双向链表
#pragma once class IteratorMismatchException { }; template <typename Object> class List { private: struct Node { Object data; Node *prev; Node *next; ...原创 2019-02-06 20:16:26 · 246 阅读 · 0 评论 -
简单的双向链表原理
#include <iostream> //带表头的双向链表 using namespace std; class DblList; class DblListNode { friend class DblList; public: int data;//数据域 DblListNode *llink;//指向左边节点 DblListNode *rli...原创 2019-02-06 20:12:30 · 412 阅读 · 0 评论 -
二分查找(折半查找)
二分查找(折半查找) template <typename T> int BinarySearch(T *list, const T x, const int n) { int low, high, mid; low = 0; mid = 0; high = n - 1; while (low <= high) { ...原创 2019-01-17 21:19:47 · 255 阅读 · 3 评论 -
归并排序
#include <iostream> #include <algorithm> using namespace std; //initList:初始数组 //mergeList:合并之后的数组 //l:数组的下标 //m:数组的下标 //n:一共有多少个数要合并 template <typename T> void Merge(T *initList, T ...原创 2019-01-31 23:04:57 · 197 阅读 · 0 评论 -
快速排序--Quick Sort
#include <iostream> using namespace std; void QuickSort1(int iArray[], int left, int right) { //快速排序之前先判断一下当前待排序数组元素个数是不是大于1 否则就没有必要排序 if (left >= right) { //直接退出排序代码 没...原创 2019-01-31 23:03:21 · 231 阅读 · 0 评论 -
插入排序
#include <iostream> using namespace std; template <typename T> void Insert(T& e, T *a, int i) { a[0] = e; while (e < a[i]) { a[i + 1] = a[i]; i--; ...原创 2019-01-20 19:28:10 · 199 阅读 · 0 评论 -
Permutation
template <typename T> void Permutations(T* list, const int k, const int n) { if (k == n) { for (int i = 0; i <= n; ++i) { std::cout << list[i]; ...原创 2019-01-19 22:36:23 · 956 阅读 · 0 评论 -
折半递归和迭代查找法
int BinarySearch_Iter(int *list, const int x, const int n) { int left = 0; int right = 0; while (left <= right) { int mid = (left + right) / 2; if (x < list[mid])...原创 2019-01-17 22:23:02 · 404 阅读 · 0 评论 -
交换方法
void swap(int *px, int *py) { int temp = *px; *px = *py; *py = temp; } void swap(int &x, int &y) { int temp = x; x = y; y = temp; } template<class T> void swap(T...原创 2019-01-17 21:25:05 · 247 阅读 · 0 评论 -
顺序排序
顺序排序 template <typename T> T SequentialSearch(T *list, const int num, const T x) { int i = 0; for (; i < num; i++) { if (list[i] == x) { return i; ...原创 2019-01-17 21:22:38 · 627 阅读 · 0 评论 -
选择排序
选择排序 template <typename T> void SelectSort(T* list, int num) { for (int i = 0; i < num-1; ++i) // num-1 { int min = i; int j = 0; for (int j = i + 1; j < n...原创 2019-01-17 21:21:43 · 218 阅读 · 0 评论 -
冒泡排序
冒泡排序 template <typename T> void BubbleSort(T *list, T n) { for (int i = 0; i < n - 1;++i) { for (int j = 0; j < n - i - 1; ++j) { if (list[j] > lis...原创 2019-01-17 21:20:40 · 210 阅读 · 0 评论
分享