⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 merge.c

📁 implementation of merge sort algorithm and its computational cost. it is testing on arrays of lenght
💻 C
字号:
#include <stdio.h>#include <math.h>#include <stdlib.h>#include <sys/times.h>//Funcion merge//one more timevoid merge(int A[],int p, int q, int r){	//printf("merge p: %d \n ",p); 		int n1,n2,i,j,k;	n1=q-p+1;	n2=r-q;	int L[n1+1];	int R[n2+1];	for(i=0;i<n1;i++)		L[i] = A[p+i];	for(j=0; j<n2;j++)		R[j] = A[q+1+j];	L[n1]=1000000; //coloco un flag tiende a inf	R[n2]=1000000;	i=0;	j=0;	for(k=p; k<=r; k++){		if (L[i] <= R[j])		{ 			A[k]=L[i];			i=i+1;		}		else		{		A[k]=R[j];		j=j+1;		}  	}}//Funcion merge_sortvoid merge_sort(int A[], double p, double r){double q;	if (p < r)	{//printf("valor de q: %.1lf \n",q);	q=floor((p+r)/2.0);	merge_sort(A,p,q);//printf("primer p: %.1lf, q: %.1lf, r: %.1lf \n ",p,q,r);	merge_sort(A,q+1.0,r);//printf("segundo q+1: %.1lf, r: %.1lf \n ",q,r);	merge(A,(int)p,(int)q,(int)r); //printf("tercer p: %.1lf, q: %.1lf, r:%.1lf \n ",p,q,r);	//printf("r: %.1lf \n ",r);	}	//printf("p: %.d \t ",p);}int main(){int i, j;//int B[]={7,9,0,1,2,3,3,5,8,4};int tam=50;int B[tam];////Generando el arreglosrand(time(NULL));for (i = 0; i < tam; i ++) {	B[i]=rand()%100;printf("%d =>",B[i]);}printf("ordenamiento **************************** \n");     merge_sort(B,0.0,(double)(tam-1));for(i=0;i<tam-1;i++)printf("%d =>",B[i]);printf("\n");//printf ("Tiempo Ordenamiento: \n");//printf("%.9f seconds\n", (long double)(stop_time.tms_utime-start_time.tms_utime)/1000.0f );return 0;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -