C语言实现几种常见排序算法
来源:互联网 发布:高达seed 知乎 编辑:程序博客网 时间:2024/05/30 19:32
/*
* worker.c
*
* Created on: 2010-7-1
* Author: panfei
*/
#include <stdio.h>
void swap (int *x, int *y)
{
int temp;
temp = *x; *x = *y; *y = temp;
}
// 插入排序 升序
void insertsort(int arr[], int size)
{
int i, j;
int to_insert;
for (i=1; i < size; i++)
{
to_insert = arr[i];
for (j=i-1; j>=0 && arr[j] > to_insert; j--)
{
arr[j+1] = arr[j];
}
arr[j+1] = to_insert;
}
}
// 选择排序 降序
void selectsort(int arr[], int size)
{
int i, j;
for (i=0; i<size; i++)
{
for (j = i+1; j<size; j++)
{
if (arr[i] < arr[j])
{
swap(&arr[i], &arr[j]);
}
}
}
}
// 冒泡排序 升序
void bubblesort(int arr[], int size)
{
int i, j;
for (i=0; i<size; i++)
{
for (j=0; j<size-1-i; j++)
{
if (arr[j] > arr[j+1])
{
swap (&arr[j], &arr[j+1]);
}
}
}
}
// 快速排序
void quicksort(int arr[], int left, int right)
{
if(right > left)
{
int storeIndex = left;
int i;
swap(&arr[(left+right)/2], &arr[right]);
for(i=left; i<right; i++)
{
if(arr[i] > arr[right])
{
swap(&arr[i], &arr[storeIndex]);
++storeIndex;
}
}
swap(&arr[storeIndex], &arr[right]);
quicksort(arr, left, storeIndex-1);
quicksort(arr, storeIndex+1, right);
}
}
- C语言实现几种常见排序算法
- 几种常见排序算法的c语言实现
- 几种常见排序算法的C语言实现
- 几种常见排序算法的c语言实现
- 几种常见排序算法的c语言实现
- c语言实现几种排序算法
- 几种常见内部排序算法分析与实现(C语言描述)
- 测试几种常见排序算法稳定性C语言
- C语言几种常见排序算法(一)
- 几种常见的排序方法(C语言实现)
- c语言实现几种排序算法OC实现
- 排序算法:几种常见的排序算法的C语言代码
- C语言常见几种排序汇总
- 几种常见的排序算法(C++)
- 几种常用排序算法的C语言实现
- 几种常用排序算法的C语言实现
- 几种排序算法的C语言实现
- 几种C语言实现的排序算法
- TXMLDocument对XML文件进行读取和写入
- Hive数据操纵语言
- 发散一下思维
- Linux共享内存
- 浏览文件夹
- C语言实现几种常见排序算法
- mysql小记
- 插入排序C语言实现
- 观察者模式
- 策略模式
- 依赖抽象,不要依赖具体
- 装饰器模式
- 复合设计模式—MVC
- body定时滚动代码(注意 html声明不同scrollTop总是0)