
算法
_disappear
码农
展开
-
C语言实现2路归并排序
C语言实现归并算法#include #include #define N 7void merge(int arr[], int low, int mid, int high){ int i, k; int *tmp = (int *)malloc((high-low+1)*sizeof(int)); //申请空间,使其大小为两个 int left_low = low; int left_high原创 2015-04-23 22:20:56 · 1352 阅读 · 0 评论 -
C语言实现直接插入排序
void insertion_sort(int *array, int first, int last) { int i, j, temp; for (i = first + 1; i < last; i++) { // 默认第一元素有序,从第二个元素开始遍历 temp = array[i]; // 保存无序区首元素原创 2015-04-24 09:28:06 · 581 阅读 · 0 评论 -
C语言实现快速排序
快速排序#include <stdio.h>#include <stddef.h>void swap(int * a, int * b) { int tmp = * a; * a = * b; * b = tmp;}// partition 作用是将基值移动到中间位置, 使得左边的值都比基值小, 右边的值都比基值大// pivot_i: 基值的位置size_t partitio原创 2015-04-26 09:38:32 · 719 阅读 · 0 评论 -
c语言实现冒泡排序
void BubbleSort(int *arr, int len) { for (int i = 0; i < len - 1; ++i) { for (int j = 0; j < len - 1 - i; j++) { if (arr[j] > arr[j + 1]) {原创 2015-05-24 23:04:44 · 710 阅读 · 0 评论