编写程序,使用“冒泡排序法”实现任意十个数的排序 编写程序,生成十个二位随机数,然后冒泡排序

作者&投稿:张寿 (若有异议请与网页底部的电邮联系)

1.冒泡排序法是非常基础的排序方法。如果升序排列一些数,每相邻的两个数对比,大的放在后面,每一次比较都将最大的数字放在最后,故称为冒泡法。

2.冒泡法排列时间复杂度O(n^2),小量数据排序比大量数据排序要优越的多。

3.冒泡法主体是两个for循环和两个数的交换。

4.实例:

#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int array[10]={5,7,8,2,3,1,4,9,0,6};

cout<<"排序前:"; 
for(int i = 0;i < 10;i++)
{
cout<<array[i]<<" ";
}
cout<<endl;

for(int i = 0;i < 9;i++)
{
for(int j = 1,n = 0;j <= 9 - i;j++,n++)
{
if(array[n] > array[j])
{
int temp;
temp = array[j];
array[j] = array[n];
array[n] = temp;
}
}
}

cout<<"排序后:"; 
for(int i = 0;i < 10;i++)
{
cout<<array[i]<<" ";
}
cout<<endl;

return 0;
}

运行结果:



1.冒泡排序法是非常基础的排序方法。如果升序排列一些数,每相邻的两个数对比,大的放在后面,每一次比较都将最大的数字放在最后,故称为冒泡法。
2.冒泡法排列时间复杂度O(n^2),小量数据排序比大量数据排序要优越的多。
3.冒泡法主体是两个for循环和两个数的交换。
4.实例:
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int array[10]={5,7,8,2,3,1,4,9,0,6};
cout<<"排序前:"; 
for(int i = 0;i < 10;i++)
{
cout<<array[i]<<" ";
}
cout<<endl;
for(int i = 0;i < 9;i++)
{
for(int j = 1,n = 0;j <= 9 - i;j++,n++)
{
if(array[n] > array[j])
{
int temp;
temp = array[j];
array[j] = array[n];
array[n] = temp;
}
}
}
cout<<"排序后:"; 
for(int i = 0;i < 10;i++)
{
cout<<array[i]<<" ";
}
cout<<endl;
return 0;
}
运行结果:



//C++下的冒泡排序
#include <iostream>
using namespace std;
int main(){
int sort[10],i,j,tMax;
cout<<"请输入10个数:"<<endl;
for(i=0;i<10;i++)
cin>>sort[i];
for(i=1;i<=9;i++) //10个数需要10-1趟比较
for(j=0;j<10-i;j++) //第i趟需要10-i次比较
if(sort[j]>sort[j+1]){
tMax = sort[j];
sort[j] = sort[j+1];
sort[j+1] = tMax;
}
cout<<"从小到大排序:";
for(i=0;i<10;i++)
cout<<sort[i]<<" ";
cout<<endl;
}

这是VB编的冒泡法代码. 望采纳.
Dim m, i, j As Integer
Static n As Integer
n=0 '已沉底的数(大数的个数)
For i = 1 To 10 - n '对剩余数进行排序
For j = 0 To 9-i '9-i次比较
If a(j) > a(j + 1) Then
m = a(j)
a(j) = a(j + 1)
a(j + 1) = m
End If
Next j
n = n + 1 '大数沉底,此为个数
Next i

//C++下的冒泡排序
#include <iostream>
using namespace std;
int main(){
int sort[10],i,j,tMax;
cout<<"请输入10个数:"<<endl;
for(i=0;i<10;i++)
cin>>sort[i];
for(i=1;i<=9;i++) //10个数需要10-1趟比较
for(j=0;j<10-i;j++) //第i趟需要10-i次比较
if(sort[j]>sort[j+1]){
tMax = sort[j];
sort[j] = sort[j+1];
sort[j+1] = tMax;
}
cout<<"从小到大排序:";
for(i=0;i<10;i++)
cout<<sort[i]<<" ";
cout<<endl;
}

编写程序,从键盘输入10个整数,使用冒泡排序法进行排序输出排序结果,并输出其中的最大值、最小值和平均值~

int main()
{
int i,j,t,a[10];
printf("Please input 10 integers:
");
for(i=0;i<10;i++)
scanf("%d",&a[i]);
for(i=0;i<9;i++) /* 冒泡法排序 */
for(j=0;j<10-i-1;j++)
if(a[j]>a[j+1])
{t=a[j];/* 交换a[i]和a[j] */
a[j]=a[j+1];
a[j+1]=t;

#include
#include
#include
void sort(int a[],int n)
{
int i,j,k,tmp;
for (i = 0; i<n; i++) {
k=1;
for (j=0; j<n-i-1; j++) {
if (a[j]>a[j+1]) {
k=0;
tmp=a[j];
a[j]=a[j+1];
a[j+1]=tmp;
}
}
if (k) break;

}
}
int main(void)
{
int a[10],i;
srand(time(NULL));
for (i = 0; i < 12; i++) {
a[i]=rand()%100;
printf("%d ",a[i]);
}
putchar('
');
sort(a,12);
for (i = 0; i < 12; i++) printf("%d ",a[i]);
putchar('
');
return 0;
}
这是用C写的,你看一下。

public class Sequence02 {
public static void main(String[] args) {
int[] number = new int[12];
/**
* 产生10个[0-100]的随机数、注意区间 在j2se中区间一般都是[)
*/
for (int i = 0; i < number.length; i++) {
number[i] = (int) (Math.random() * 101);
}
/**
* 打印随机数
*/
System.out.println("随机数为:");
for (int random : number) {
System.out.print(random + " ");
}
/**
* 冒泡排序
* j的范围:排出11个也就都出来了
* k的范围:前一个与后一个比较选出大的,因为最大就是number.length
*/
int b;
for (int j = 0; j < number.length - 1; j++) {
// for (int k = 0; k < number.length - 1; k++) {
for (int k = 0; k < number.length - (j + 1); k++) {
if (number[k] > number[k + 1]) {
b = number[k];
number[k] = number[k + 1];
number[k + 1] = b;
}
}
}
/**
* 打印排序结果
*/
System.out.println("排序结果为:");
for (int random : number) {
System.out.print(random + " ");
}
}
}
这是java语言写的

用C语言,随机输入10个整数,用冒泡排序法对这些整数进行从小到大排序...
答:printf("请输入待排序的10个数:");for(i=0;i<10;i++){ scanf("%d",&a[i]);} fun(a);printf("\n排序后的数列如下:\n");for(i=0;i<10;i++){ printf("%2d ",a[i]);} /***/ wf=fopen("out.dat","w");fun(b);for(i=0;i<10;i++)fprintf (wf,"%2d",b[i...

用冒泡排序法排列10个数据,程序是怎样的?
答:采用冒泡法降序排列10个输入数据的程序如下:先定义一个长度为10的数组a[],10个数据由键盘输入,从第一个数开始,两两一组进行判断,因为要求是降序排列,因此将两个数中小的向后移动,每个数要比较的次数为9-数的下标。比较完成后将数组依次输出。输入10个数据,程序运行结果:...

用冒泡排序法对输入的10个数进行升序排序 并存入数组中
答:C语言程序如下;include <stdio.h> define ARR_LEN 255 /*数组长度上限*/ define elemType int /*元素类型*//* 冒泡排序 */ /* 1. 从当前元素起,向后依次比较每一对相邻元素,若逆序则交换 */ /* 2. 对所有元素均重复以上步骤,直至最后一个元素 */ /* elemType arr[]: 排序目标数组;...

...大的顺序排列(冒泡法),要求排序功能用自定义函数实现。
答:include <iostream.h> void sort(int a[],int n) //冒泡排序法 { int temp;for(int i=0;i<n-1;i++)for(int j=i;j<n;j++){ if(a[i]>a[j]){temp=a[i];a[i]=a[j];a[j]=temp;} } } void main(){ int s[10];for(int i=0;i<10;i++)//从键盘输入10个数 ...

编写程序,使用“冒泡排序法”实现任意十个数的排序
答://C++下的2113冒泡排序5261#include <iostream>using namespace std;int main(){ int sort[10],i,j,tMax; cout<<"请输入10个数:"<<endl; for(i=0;i<10;i++) cin>>sort[i]; for(i=1;i<=9;i++) //10个数需要410210-1趟比1653较专 for(j=0;j<10-i;j++) //第i趟需要10-i次比较 ...

求教c语言二维数组的冒泡排序法?
答:1、打开Visual Studio工具并创建一个新的Win32程序。2、在打开的C语言文件中,导入stdio.h空间,然后准备一个main函数。3、接下来,准备一个需要进行冒泡排序的整数数组。如下图所示,数组中数字的顺序是不正常的。4、接下来,准备变量,准备好的变量用于对交互数据进行排序。5、然后我们准备两个for循环...

用matlab 程序 冒泡法对10个数由小到大排序
答:冒泡法排序原理:例如有一组数为12,23,1,4,2,6。使用冒泡排序方法使这组数从小到大排列。首先12和23比较,12<23,则位置不变;接着23和1比较,因为23>1,所以交换23和1的位置,这组数这时是12123426;然后比较23和4,因为23>4,所以交换23和4,这组数变为12142326;然后比较23和2,23>2,...

C语言:编写一个程序用冒泡排序实现升序排列
答:1、首先打开一个空白的C语言文件,首先先定义一组待排序的数列以及各个变量,接着就是用来处理排序的逻辑:2、冒泡排序的逻辑是一组数从第一个数值开始,如果相邻两个数的排列顺序与期望不同,则将两个数的位置进行交换,重复这样的过程直到最后一个数不需要交换则排序完成,如果有N个数需要排序,则...

c语言 使用冒泡排序将一维数组A中的N个元素升序排列
答:} printf("排序结果!\n"); for(i=0;i<n;++i) printf("%5d",p[i]); printf("\n");return 0;} 本回答由电脑网络分类达人 董辉推荐 举报| 答案纠错 | 评论 1 11 2013努力实现 采纳率:48% 擅长: 暂未定制 其他回答 我这给出一个不用指针,不用手动分配内存空间的相对 精简易懂 的方法#include...

编写JAVA程序,用冒泡法对十个随机数由小到大顺序排序,输出排序后的结果...
答:冒泡排序 j的范围:排出9个也就都出来了 k的范围:前一个与后一个比较选出大的,因为最大就是number.length / int b;for (int j = 0; j < number.length - 1; j++) { // for (int k = 0; k < number.length - 1; k++) { 使得排序运行81次 for (int k = 0; k < ...