LeetCode刷题
个人刷题记录
梦想车宾利
ooooooooooooook
展开
-
排序算法C++
1.快排:void quicksort(vector<int>&vec,int left,int right){ if(left==right)return ; int mid=(left+right)/2; int cmp=vec[mid]; int i=left-1,j=right+1; while(i<j){ do i++;while (vec[i]<cmp); do j--;while(vec[原创 2022-03-01 20:29:57 · 424 阅读 · 0 评论 -
归并排序C++
//确定分界点//递归排序左右//归并合二为一//总体思想:分治//先进行递归分治 在一个小区间进行排序 之后回溯在一个左右区间都排好的大区间排序 最后归为一个大区间排序//比如:1 3--7 4 --8 9 -- 10 3-- 4 8//第一次1 3 --4 7 --8 9--3 10 -- 4 8//第二次:1 3 4 7 8 --3 4 8 9 10//最后一次:1 3 3 4 4 7 8 8 9 10#include "iostream"const int N=1e2;i.原创 2021-10-30 20:19:47 · 101 阅读 · 0 评论 -
快速排序模板
注意边界问题防止无限递归进入死循环#include<iostream>using namespace std;void quick_sort(int arr[],int left,int right){ if(left==right)return;//左右指针相遇 int m_i=left-1; int m_j=right+1; int com=arr[(right+left)/2];//确定每一次分支的分界点 这里也是边界问题 递归死循环问题原创 2021-10-30 19:13:24 · 80 阅读 · 0 评论