汉扬编程 C语言入门 谁能给个简单的C语言归并排序算法的例子啊?谢谢

谁能给个简单的C语言归并排序算法的例子啊?谢谢

  #include
#include
#include
void Merge(int *R,int low,int m,int high)
{
int i=low,j=m 1,p=0;
int *R1;
R1=(int *)malloc((high-low 1)*sizeof(int));
if(!R1)
return;
while(i R1[p ]=(R[i] while(i R1[p ]=R[i ];
while(j R1[p ]=R[j ];
for(p=0,i=low;i R[i]=R1[p];
}
void MergeSort(int R[],int low,int high)
{
int mid;
if(low {
mid=(low high)/2;
MergeSort(R,low,mid);
MergeSort(R,mid 1,high);
Merge(R,low,mid,high);
}
}
int main(void)
{
int i;
int a[10]={0};
int low=0,high=9;
srand( (unsigned int)time(NULL) );
for (i = 0; i {
a[i] = rand() % 100;
}
MergeSort(a,low,high);
for(i=low;i printf(\”%d \”,a[i]);
printf(\”

\”);
return 0;
}。
  

谁能用最通俗的语言解释一下C语言的工作原理?

C语言的工作原理?

好像没有这种说法的吧?

我给你举一个例子。

说一下C语言是怎么执行的。

#include ——这是头文件。

void main() ——主程序

{int a,b; ——定义两个整数。

scanf(\”%d%d\”,&a,&b); ——输入两个整数。

printf(\”%d\\n\”,a+b); ——输入两个整数之和。

}

意思是:输入两个整数,输出它们的和。

输出结果的前后都不允许有空格。

最简单的答案:告诉电脑你想做什么,怎么做。然后做给你看。

编码(人要做的事,也就是人一天到玩说的编程)-译码(把c语言变为机器语言,也就是计算机认识的01代码,所有语言都有的)-连接-CCPU处理计算(具体怎么算的参见计算机基础教材)-得出结果

所有的语言都是一个原理,想理解就要明白计算机是如何工作的。

所有的数据在硬件上都是以 1&0两个高低电平来工作的。

程序语言是类似与人类语言,便于人和机器都同的一个媒介。

人通过编写程序语言,然后通过编译器,类似与人类语言的程序转换能电脑硬件能读懂的 1\\0来进行工作的。

说白了就是翻译。

你在中国说汉语(人类语言),你到非洲不懂非洲语(机器语言1和0)但是有个人懂法语又懂汉语(高级程序语言),非洲有个懂非洲语的又懂法语的(编译器),你用汉语给懂法语的人说(人类语言转变为高级程序语言),懂法语的又给懂非洲语的人说(高级程序语言转变为低级语言),懂非洲语的直接给非洲人说(就变成机器懂的1和0的语言了),这样双方就能沟通了,知道对方想干什么了

本文来自网络,不代表汉扬编程立场,转载请注明出处:http://www.hyzlch.com/cjia/6396.html

十年老程序员分享的在linux下C开发几点技术小总结

C\\C++语言2|变量、常量、指针的声明、定义和左值、右值

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

返回顶部