C语言高效排序算法及源 码
话题:C语言高效排序算法及源 码
回答:如果你排序的数据容量比较小的话就用选择,冒泡,或者 入,时间都差不多。如果你的数据比较大的话,就要用快排,归并,堆排序!!
参考回答:这个你可以考虑一下冒泡排序 或者是选择排序,这两个都差不多, 现在一般我们用冒泡排序比较多 把那个调用函数写写看啊 ,看看
话题:数据结构排序算法(C描述)
问题详情:谁有数据结构的整套排序算法帮忙写出以下C实现 码(1)冒泡
回答:看看可以不#include#include#define TRUE 1#define FALSE 0#define OK 1#define ERROR#define OVERFLOW -2#define MAXSIZE 20 一个用作示例的小顺序表的最大长度#define LT(a,b) ((a)=i;j--) 对当前无序 R[i..n] 自下 if(LT(L.r[j+1].key,L.r[j].key)) { L.r[0]=L.r[j+1]; L.r[0]不是哨 ,仅做暂存单元 L.r[j+1]=L.r[j]; L.r[j]=L.r[0]; exchange=TRUE; 发生了 ,故将 标志置为真 } if(!exchange) 本趟排序未发生 ,提前终止算法 return; } } -----------快速排序---int Partition(SqList L,int low,int high){ 顺序表L中子表r[low..high]的 ,枢轴 到位,并返回其所在位置,此时 在它之前(后)的 均不大(小)
话题:一个C气泡排序算法 码的读问题
问题详情:for(i=1;ilt;=N;i++) printf("%d",a[i]); }这段 码 按照书上的解释.
回答:是说如果a[i]的值大于a[i+1] 执行大括号里的内容,用t做一个中间量,将a[i]的值和a[i+1]的值互换,由此推断是要求升序排列 ,先比较,再决定是否互换
话题:快速排序算法的C语言 码,要求有运行过程即每运行一步就
回答:#includelt;cstdiogt;#define Swap(a,b) {a^=b;b^=a;a^=b;}#define MAXN 1000 int A[MAXN],N;int PRINT(int s=-1,int t=N,int x=0){ for(int i=0;ilt;N;++i) { if(i==s)printf("{"); printf("%d",A[i]); if(i==t)printf("}");printf(" "); } if(!(s==-1amp;amp;t==N))printf("\n上一步骤将{}中的数以 %d 为比较值分成了两个 域\n\n",x); else printf("\n已完成排序\n");}int qsort(int s,int t){ int i=s,j=t,x=A[(i+j)/2]; for(;ilt;=j;) { for(;A[i]lt;=x;++i); for(;A[j]gt;=x;--j); if(ilt;=j) { Swap(A[i],A[j]); i++;j--; } } PRINT(s,t,x); if(slt;j)qsort(s,j);if(ilt;t)qsort(i,t);}int main(){ scanf("%d",amp;N); f
话题: 入排序、合并排序和快速排序算法的C语言实现与性能比较
问题详情:合并排序和快速排序算法;2.随机产生整数测试所实现的算法;3.
回答:前三个的实现很简单, 码也是很容易找的,不过楼上说的clock()函数可能无法统计函数调用所用的时间,那个只能统计某一段所用的时间,而不包括某个函数调用的时间呢不过可以用#includetime.h的LARGE_INTEGER BegainTime ;LARGE_INTEGER EndTime ;LARGE_INTEGER Frequency ;QueryPerformanceFrequency(Frequency);QueryPerformanceCounter(BegainTime) ;调用的函数;QueryPerformanceCounter(EndTime);printf("运行时间(单位:s):%f" ,(double)( EndTime.QuadPart - BegainTime.QuadPart )/ Frequency.QuadPart)
参考回答:简单说一下:1,这几个排序网上仔细搜一下都找得到源码2,产生随机数会用到srand()和rand()函数,time.h和stdlib.h里3,
话题:求一个单链表归并排序算法,C语言的源 码,急需!
问题详情:链表结构体typedef int ElemType;struct LNode{ ElemType data; struc
回答: MergeSort.cpp#include iostream.h#include conio.h#define MAXSIZE 20#define LENGTH typedef int RedType;typedef struct SqList structure{ RedType r[MAXSIZE+1]; Records Type int length;}SqList;typedef SqList RcdType;void Merge(RcdType SR,RcdType TR,int i,int m,int n) Merge() function{ int j,k; for(j=m+1,k=i;i=mj=n;++k) { if(SR.r[i]=SR.r[j]) TR.r[k]=SR.r[i++]; else TR.r[k]=SR.r[j++]; } while(i=m) TR.r[k++]=SR.r[i++]; while(j=n) TR.r[k++]=SR.r[j++];} end of Merge() functionvoid MSort(RcdType SR,RcdType TR1,int s, int t) MSort() function { int m;
参考回答:归并排序:需要两个有序链表,生成一个有序的包含两个原链表节点的排序楼主一个链表,想怎么进行归并排序呢
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-

















































