![](https://img-blog.csdnimg.cn/20201014180756913.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
经典算法
<-->
gitlijian.cn
展开
-
循环排序
原创 2021-05-12 21:44:04 · 108 阅读 · 0 评论 -
快排 备份
nt Partition(int a[], int low, int high){ // 一趟排序过程 int pivot = a[low]; // 将当前表中第一个元素设为枢纽值,对表进行划分 while (low < high) { // 循环跳出条件 while (low < high && a[high] >= pivot) --high; a[low] = a[high];.原创 2021-03-29 20:30:08 · 75 阅读 · 1 评论 -
汉诺塔-C语言递归解法
#include<stdio.h> void move(int,char,char,char); int main(){//A、B、C分别代表三个柱子char ch1 = 'A';char ch2 = 'B'; char ch3 = 'C'; //n代表圆盘的个数int n;printf("请输入圆盘个数:");scanf("%d",&n);move(n,ch1,ch2,ch3); return 0;} //将n个圆盘从x柱子借助y柱子移动到..原创 2020-08-06 10:37:55 · 197 阅读 · 2 评论 -
二分查找
#include<stdio.h>int main(){ int a[10]={1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; int low=0, high=9; int x=0; scanf("%d",&x); while(low<=high) // <= 有时候low可能等于high { int mid=(low+high)/2; if(a[mid]==x) { printf("%d\n",mid); brea.原创 2020-08-04 16:21:17 · 98 阅读 · 1 评论 -
冒泡排序
#include<stdlib.h>#include<stdio.h>int main(){ int n=0; scanf("%d",&n); int *arr=(int *)calloc(n, sizeof(int)); int i=0,j=0; for(i=0;i<n;i++) { scanf("%d",&arr[i]); } for(i=0;i<n;i++) { for(j=0;j<n-i-1;j++) .原创 2020-08-04 15:08:14 · 65 阅读 · 0 评论