三九宝宝网宝宝教育教学论文

C语言冒泡排序法是怎么排序的

12月24日 编辑 39baobao.com

[C语言冒泡法排序问题]#include"stdio.h" main() { int a[5],*p,i,t,j; for(i=0;i<5;i++) scanf("%d",&a[i]); printf("\n"); for(i=0;i<5;i++) //改成for(i=0;i<4;i++) { for(j=0;j<5;j++)//改成for(j=...+阅读

C语言冒泡排序法的排2113序规则:5261

将被排序的记录4102数组R[1..n]垂直排列,每个记录R看作是重量为R.key的气泡1653。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。

1. 初始 R[1..n]为无序区。

2. 第一趟扫描 从无序区底部向上依次比较相邻的两个气泡的重量,若发现轻者在下、重者在上,则交换二者的位置。

即依次比较(R[n],R[n-1]),(R[n-1],R[n-2]),…,(R[2],R[1]);对于每对气泡(R[j+1],R[j]),若R[j+1].key

3. 第二趟扫描 扫描R[2..n]。

扫描完毕时,"次轻"的气泡飘浮到R[2]的位置上…… 最后,经过n-1 趟扫描可得到有序区R[1..n] 注意: 第i趟扫描时,R[1..i-1]和R[i..n]分别为当前的有序区和无序区。扫描仍是从无序区底部向上直至该区顶部。扫描完毕时,该区中最轻气泡飘浮到顶部位置R上,结果是R[1..i]变为新的有序区。

c语言冒泡排序的编程为:

#include

void sort(int *a,int len)

{int i=0;

int j;

int t;

for(i=0;i

{

for(j=0;j

{

if(a[j]>a[j+1])

{

t=a[j];

a[j]=a[j+1];

a[j+1]=t;

}

}

}

}

int main(int argc, char *argv[])

{

int a[10]={

-999,2,3,77,12,88,0,-8,99,100

};

int i=0;

sort(a,10);

for(i=0;i<10;i++)

{

printf("%d ",a[i]);

}

return 0;

}

以下为关联文档:

c语言题目!用冒泡排序法完成求大神们帮帮忙不是给你写过一次了 #include <stdio.h> int main(void) { int a[6] = {10,8,5,7,3,1}; int i,j; int t; for(i = 0; i < 5; i++) //冒泡排序 for(j = 0; j < 5-i; j++) if(...

C语言编程题题目描述使用冒泡排序法对数组元素从小到大进行排序#include "stdafx.h" #include <iostream> #include <stdlib.h> using namespace std; void sort(int arry[],int counts)//冒泡排序法 { for(int i=0;i<counts;i++) { for(in...

大神求解C语言编程题冒泡排序和简单选择排序写出来#include #include #define ARR_LEN 255 /*数组长度上限*/ typedef struct stu { int stuID; /* 学号 */ float score; /* 成绩 */ } stu; /* 找出成绩最低的学生信息 */ stu...

C语言编程冒泡排序问题#include<stdio.h> void main () { int i,j,k; int a[10]; printf("请输入10个数:\n"); for (i=0;i<=9;i++) scanf("%d",&a[i]); printf("\n"); for (j=0;j<=9;j++) for (i=0;i<9-j;i...

C语言题用二维数组和冒泡排序#include<stdio.h> #define n 4 int main() { char a[n][30]; char tempstr[30]; char ch[30]; int b[n]; int i,j,temp; printf("你好使用者,我是一个自动分析程序,请输入你想...

C语言冒泡排序#include<stdio.h> #define MAX 10 // #include <stdio.h> #define N 10 int main (){ int i,j,t,a[N]; printf("please input ten numbers:\n"); for (i=0;i<N;i++) scanf("%d...

C语言程序设计实现输入20个整数数据按从大到小排序计算出#include<stdio.h> int main() { int a[20],i,j,s; double sum=0,average; for(i=0;i<20;i++){ scanf("%d",&a[i]); sum+=a[i]; } average=sum/20; for(i=1;i<20;i++) for(j=0...

用C语言实现数据结构中常用算法如对链表的操作查找排序#include <iostream.h> class ram { public: char wenzi[200]; ram *p; }; ram wo,*ai=&wo; int num=0;//我申请了几次内存了 void xie(void);//输入数据,然后分配内存为下次做...

C语言冒泡排序冒泡排序每一趟排序把最大的放在最右边。 比如: 87 12 56 45 78 87和12交换:12 87 56 45 78 87和56交换: 56 87 45 78 87和45交换: 45 87 78 87和78交换: 78 87 到此第一趟排序结...

推荐阅读
图文推荐