快速、插入、冒泡排序,二分查找
来源:互联网 发布:无线路由器mac绑定 编辑:程序博客网 时间:2024/06/04 21:51
void swap(int *a,int*b)
{
int temp = *a;*a = *b;*b = temp;
}
void quicksort(int arr[],int left,int right) //快速排序
{
if (left>right){ return;}int temp = arr[left];int i = left;int j = right;while (i<j){ while (arr[j]>=temp) { if (j <=i) { break; } j--; } while (arr[i]<=temp) { if (i>=j) { break; } i++; } if (i < j) { swap(&arr[i], &arr[j]); }}swap(&arr[left], &arr[i]);quicksort(arr, left, i - 1);quicksort(arr, i + 1, right);
}
void babblesort(int arr[],int length) //冒泡排序
{
for (int i = 0; i < length - 1;i++){ for (int j = i; j < length-1;j++) { if (arr[j]>arr[j+1]) { swap(&arr[j], &arr[j + 1]); } }}
}
//二分查找
int binaryFind(int arr[],int left,int right,int key)
{
if (left>right){ return -1;}int mid = (left + right) / 2;if (arr[mid]==key){ return mid;}if (arr[mid]>key){ return binaryFind(arr, left, mid-1, key);}else { return binaryFind(arr, mid+1, right, key);}
}
//插入排序
void insertsort(int arr[],int length)
{
for (int i = 1; i < length;i++){ int temp = arr[i];; int j = i - 1; for ( j = i-1; j >=0;j--) { if (arr[j] >= temp) { arr[j + 1] = arr[j];//right shift } else { break; } } arr[j + 1] = temp;}
}
阅读全文
0 0
- 插入,冒泡,选择,快速排序,二分查找
- 快速、插入、冒泡排序,二分查找
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- 插入,冒泡,选择,快速排序,二分查找(Java版)
- Java冒泡,快速,插入,选择排序^_^+二分算法查找
- 冒泡排序,插入排序,二分查找
- Day20、冒泡、快速、选择、插入、二分查找
- 冒泡排序,快速排序,二分查找
- php 冒泡排序 快速排序 二分查找
- 冒泡排序,简单插入排序,快速排序,二分查找的JAVA实现
- 冒泡排序,改进型冒泡排序,插入排序,二分查找
- 插入,冒泡排序算法,二分查找
- 排序----冒泡,选择,插入,二分查找
- 冒泡排序,选择排序,直接插入排序,二分查找排序
- 基础排序算法总结(插入、选择、冒泡、合并、二分查找、堆排序、快速排序、基数排序、桶排序、计数排序)
- c语言归并、选择、直接插入、冒泡、快速、堆排序与顺序、二分查找
- 冒泡排序 二分查找 快速排序 线性查找
- 拓扑排序, 快速排序, 冒泡排序, 堆排序, 二分查找
- 接收前台用echarts生成的若干张图表转为word提供下载
- java.math.BigInteger
- 一个demo学会css
- 现在才知道Java中变量声明可以放在赋值后面。。。
- 设计模式之职责链模式
- 快速、插入、冒泡排序,二分查找
- CentOS7 安装ARM Linux交叉编译环境
- mysql中的模糊查询
- 代理模式 | Proxy Pattern
- 图论小结(最小生成树)
- map函数学习
- X问题
- RecyclerView的ItemAnimator
- 搜索引擎选择: Elasticsearch与Solr