3q算法
冒泡排序
#include<stdio.h> //链接标准头文件
#define N 5 //定义常量N并赋值为5
void main() //主函数入口
{ //表示主函数开始
int i,j; //定义整形变量i和j
int grade[N],temp; //定义N维(N=5,也就是五维啦^^)整形数组和整形变量temp
printf("输入5个数\n"); //在屏幕上显式“输入5个数”并且换行
for(i=0;i<N;i++) //开始for循环,从i=0,每次加1,直到i=4,共需循环5次
{ //循环体开始
scanf("%d",&grade[i]); //依次获取用户输入的整数值并存入数组grade中
} //循环结束
for(i=0;i<N;i++) //开始外层for循环,从i=0,每次加1,直到i=4
{ //外层循环体开始
for(j=0;j<N-1-i;j++) //开始外层for循环,从j=0,每次加1直到i等于外层循环的N-j-1
{ //内层循环体开始
if(grade[j]<grade[j+1]) //条件判断
{ //如果整形数组前面的数比其后的小,执行以下语句
temp=grade[j+1]; //将比较大的数赋值给temp
grade[j+1]=grade[j]; //将比较小的数赋值给数组中后面的变量
grade[j]=temp; //将比较大的数赋值给数组中前面的变量
} //从此便完成大小变量的交换,使得大值往前放
} //结束内层循环
} //结外内层循环,完成排序
printf("最后排序为:\n");//在屏幕显式“最后排序为:”并换行
for(i=0;i<N;i++) //同开始的for循环类似
{ //开始循环输出
printf("%d",grade[i]); //只是这里要逐个输出数组中的五个数值
} //结束循环输出
printf("\n"); //输出换行到屏幕,看不到什么效果,可删掉
} //结束main()函数
快速排序c++代码
悬赏分:0 | 提问时间:2009-6-1 16:00 | 提问者:杨树好
一个例子来说明一下其算法原理问题补充:
救命的!快点啊
推荐答案
随机生成N个整数显示,经过快速排序后输出排序后的结果。
程序代码如下所示,仅供参考:(已通过编译运行,正确无误!)
# include "stdio.h"
# include "time.h"
# include "stdlib.h"
# define N 10
int partition(int a[],int low,int high){//快速排序中的一趟
int pivotkey;//作为枢轴来使用
pivotkey=a[low];
while(low<high){
while(low<high&&a[high]>=pivotkey)
--high;
a[low]=a[high];
while(low<high&&a[low]<=pivotkey)
++low;
a[high]=a[low];
}
a[low]=pivotkey;
return low;
}
void qsort(int a[],int low,int high){//快速排序的递归形式
int pivotloc;
if(low<high){
pivotloc=partition(a,low,high);//一趟排序结果的调用
qsort(a,low,pivotloc-1);
qsort(a,pivotloc+1,high);
}
}
void init(int a[]){//随机生成N个整数并
int i;
srand ( ( unsigned int ) time ( NULL ) );
for(i=0;i<N;i++)
a[i]=rand()%99+1;
}
void main(){
int a[N],i;
init(a);
printf("排序前的数值内容\n");
for(i=1;i<=N;i++){//输出排序前的数组内容
printf("%d ",a[i-1]);
if(i%10==0)
printf("\n\n");
}
qsort(a,0,N);
printf("排序后的结果\n");
for(i=1;i<=N;i++){//输出排序后的数组内容
printf("%d ",a[i-1]);
if(i%10==0)
printf("\n\n");
}
printf("\n\n");
}
㈡ 三角形公式算法知道的帮忙算算3Q
18*sin30=9
㈢ 求adsl上行和下行算法,详细,3Q
你是要测试ADSL上行和下行的速度吗?用一个P2P软件,把带宽限制去掉,然后下载一个资源多一点的文件,就能得到比较准确的上行和下行的速度。
㈣ 几个线性表的问题(C语言编程)《最好教教我算法到底应该怎么写,3Q》
这么多个题才给10分,没多少人愿意帮忙的
㈤ 我想请教一下塑胶模具的重量的算法,详细一点的,3Q!!!
你是想问模具的重量,还是产品的重量,不过算法都是一样的。
就是长*宽*厚度,再乘以密度就可以了。
一般模具钢材的密度为8,产品的密度就是看原料的密度,可以查得到的。
㈥ 关于计算机语言中的“算法”。拜托各位了 3Q
算法是一种解决计算机问题的方法,跟具体语言无关,就是说算法就是思想,你要是有了思想,不管用什么语言都能编写~~~呵呵
㈦ 有谁能给一下C语言的常用算法(不是只有源代码)3Q
……你想要什么的算法呢?
一般说到算法,初级都是讲排序的,你就从排序开始吧。选择法,插入法,冒泡法三种。只要是编程,都会用到的
㈧ 3Q,请问有使用蚁群算法实现函数优化的实例吗书什么的都行,现在刚刚开始学习蚁群算法,不知道如何下手
蚁群算法及其应用 李士勇,淘宝上有卖的,不算运费才20-25元左右。
㈨ C#什么是 “排序”的算法 什么是数据结构 能大致介绍下吗 3Q!
排序就是把原来顺序乱的一系列数据按一定规则排列。。。排序很多种啊。。插入排序,快速排序,冒泡排序,堆排序,基数排序。。你要哪种?数据结构也很多啊。树,数组,链表。。
㈩ 数学的排列组合算法加公式拜托各位了 3Q
不能重复的c(6,4)
c(6,5)
1,2,3......,n
n个数中
任取m个组合
c(n,m)
能重复的
6^4
6^5
1,2,3,。。。。n,n个数中,取m个组合(可重复)
n^m
采纳哦