三九宝宝网宝宝教育教学论文

c语言归并排序

01月03日 编辑 39baobao.com

[C语言函数排序求解]我自己写了一个,你凑乎看一下吧 void sort(double *p, int q) { double *it1, *it2, *max; double tmp; for(it1 = p; it1 < (p+q); it1++) { max = it1; for(it2 = it1+1; i...+阅读

之前写过一个模版类,这里是部分代码:

void Merger::sub_Merger(T * array, size_t n)

{

if(n == 1) //~ 递归终止

return ;

else if(n == 2) //~ 递归终止

{

if( array[0] > array[1] )

{

T tmp = array[0];

array[0] = array[1];

array[1] = tmp;

}

}

else

{

/* 将数组均分为两部分,分别排好,然后归并*/

size_t m = n / 2;

//~ 分别排序

sub_Merger(array, m + 1);

sub_Merger(array + m + 1, n - m - 1);

//~ 归并

size_t i = 0, j = m + 1, k = 0;

memcpy(extra, array, (m + 1)* sizeof(T));

while( i <= m && j < n)

{

array[k++] = extra[i] < array[j] ? extra[i++]:array[j++];

}

while(i <= m)

{

array[k++] = extra[i++];

}

}

}

以下为关联文档:

c语言函数排序问题错的地方很多。。改了下, #include<stdio.h> int sort(int num[5]); void main() { int numm[5],i,a; for (i=0;i<5;i++) scanf("%d",&numm[i]); sort(numm); //调用排序 for (i...

c语言的排序问题急!1:C语言是一种计算机程序设计语言。它既有高级语言的特点,又具有汇编语言的特点。它可以作为系统设计语言,编写工作系统应用程序,也可以作为应用程序设计语言,编写不依赖计算机...

字符串排序c语言问题第一个程序是错误的.你只是换了头一个字母,运行结果如下: abc hew jhg rht zfi 你看下吧,这没有达到你字符串排序的目的,错误就错在 if(strcmp(p[i],p[j])>0) {temp=*p[i];*p[i]...

c语言排序问题改了黑体部分,LZ错在mixum得不到更新,不更新它一直就是那个数组中最小的值啊 #include<stdio.h> #define N 10 int min(int m,int n); int a[N]; void getstr(); void main()...

c语言指针排序问题首先说明,这不是地址交换,而是值交换 temp是个定义的临时变量,用来存放中间结果。比如: a 与 b要交换值 那么,定义一个临时变量c,先保存a的值c = a 然后,把b的值赋给a:a = b最后把a...

c语言字符串排序问题!不用字符串函数。 本题的一个完整的c程序如下,程序在win-tc和Dev-c++下都调试通过。 #include<stdio.h> #include<stdlib.h> #include<conio.h> #define N 3/* 设定要输入的...

C语言课程设计 shell排序排序快速排序归并递归和非递归#include#include#include#includevoid shellSort(int *a,int len) { int step; int i,j; int temp; for(step=len/2; step>0;step/=2) { for(i=step;i=0 & temp0; i--) { h...

用c语言解决快速排序算法不用递归自己构造一个栈,模拟递归的过程 #define push2(A,B) push(B);push(A); void quicksort(a[],l,r) { int i; stackinit();push2(l,r); while(!stackempty()) { l=pop();r=pop()...

如何用C语言编一个归并排序的程序#include "MergeSort.h"#includeusing namespace std;MergeSort::MergeSort(vector_list, int _len){ list.push_back(0); link.push_back(0); for (int i=0; ilen = _len;}//...

推荐阅读
图文推荐