算法模板

Posted pusidun

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了算法模板相关的知识,希望对你有一定的参考价值。

基础算法

快速排序

/*
** quick sort array [lo, hi]
**/
void quick_sort(int a[], int lo, int hi) {
    if(lo >= hi)
        return;
    int i = lo - 1, j = hi + 1, mid = lo + hi >>1;
    while(i < j) {
        do i++; while(a[i] < a[mid]);
        do j--; while(a[j] > a[mid]);
        if(i < j) swap(a[i], a[j]);
    }
    quick_sort(a, lo, mid);
    quick_sort(a, mid+1, hi);
} 

归并排序

/*
**  merge sort array [lo, hi]
*/
void merge_sort(int a[], int lo, int hi) {
    if(lo >= hi) return;
    int mid = lo + hi >> 1;
    merge_sort(a, lo, mid);
    merge_sort(a, mid+1, hi);
    
    int i = lo, j = mid+1, k=0;
    int* tmp = new int(hi-lo+1);
    while(i<=mid && j<=hi) {
        if(a[i] < a[j])
            tmp[k++] = a[i++];
        else
            tmp[k++] = a[j++];
    }
    while(i<=mid)
        tmp[k++] = a[i++];
    while(j<=hi)
        tmp[k++] = a[j++];
    for(int m=0; m<hi-lo+1; m++) a[m] = tmp[m];
} 

数据结构

以上是关于算法模板的主要内容,如果未能解决你的问题,请参考以下文章

VSCode自定义代码片段2——.vue文件的模板

VSCode自定义代码片段(vue主模板)

Eclipse 中的通用代码片段或模板

调用模板化成员函数:帮助我理解另一个 *** 帖子中的代码片段

vscode代码片段生成vue模板

xml Eclipse模板(代码片段)检查参数并最终抛出IllegalArgumentException