关于C语言冒泡法

关于冒泡法案例

!!!问题:用冒泡法对10个数排序(由小到大)

冒泡法的思想:将相邻两个数比较,将小的调到前头。

#include <stdio.h>
int main(){
  int i,j,t,a[10];
  for(i = 0;i < 10;i++){
    scanf("%d",&a[i]);
  }
  printf("\n");
  for(j=0;j < 9;j++){
    for(i = 0;i < 9-j;i++){
      if(a[i]>a[i+1]){
        t=a[i];
        a[i]=a[i+1];
        a[i+1]=t;
      }
    }
  }
  for(i = 0;i < 10;i++){
    printf("%d",a[i]);
  }
  return 0;
}

原文地址:https://www.cnblogs.com/jcfeng/p/11244822.html

时间: 2024-10-09 11:30:44

关于C语言冒泡法的相关文章

C语言冒泡法用指针实现

// // main.c // 指针和数组 // // Created by 邱学伟 on 15/7/25. // Copyright (c) 2015年 邱学伟. All rights reserved. // #include <stdio.h> #define N 4 //冒泡法用指针实现 //输入 int *enterNumber(); //排序 void sortNumberAsc(int *ptr); //输出 void printNumber(int *ptr); int *en

C语言冒泡法排序

#include <stdio.h> int main(int argc, char *argv[]) { int a[10]={   0,1,33,200,45,34,89,90,23,13  }; int i,j; int temp; for(i=0;i<10;i++) {   for(j=i+1;j<10;j++) {    if(a[i]<a[j]) {     temp=a[j];     a[j]=a[i];     a[i]=temp; } } } for(i=

C语言常见的排序方法——冒泡法、选择法、插入法

当我们要对C中一组数据进行排序是常见的排序方法有冒泡法.选择法.插入法 冒泡排序法(升序):假设一组数据a[0].a[1].a[2].a[3]...a[n],第一轮:先比较a[0]与a[1].a[1]与a[2]...a[i]与a[i+1]...a[n-1]与a[n]的大小,如果a[i]与a[i+1]不是升序(即a[i] > a[i+1]),那么就将a[i]与a[i+1]的值互换,第一轮过后,a[n]就是最大值:第二轮:运用第一轮同样的方法,比较a[0]与a[1].a[1]与a[2]...a[i]

正宗冒泡法-java语言实现

冒泡法的思想就是:小的不停地"向前跑",大的不停地"向后"冒. 代码如下: public class Main { public static void main(String[] args) { int a[]={7,8,1,3,5}; System.out.println("排序前:"); print(a); bubblesort(a); System.out.println(); System.out.println("排序后:&

C语言实现冒泡法排序

首先我们看冒泡法排序的原理,假设有一个包含6个数字的数组其思路为:每次将相邻两个数比较,将小的调到前面,如果有6个数:8,7,5,4,2,0.第一次先将最前面的两个数8和7对调(看下图).第二次将第二个数和第三个数(8和5)对调.....如此总计进行了5次,得到7-5-4-2-0-8的顺序,可以看到:最大的数8已经沉底,成为最下面的一个数,而小的数上升.经过第一轮(5次比较)后,得到了最大的数9.   然后进行第二轮的比较(见下图),对余下的7,5,4,2,0进行新一轮的比较,以便使次大的数沉底

排序算法(交换法,选择法,插入排序,冒泡法,快速排序算法,C语言举例)

交换法:所谓交换,就是根据序列中两个记录键值的比较结果来对换这两个记录在序列中的位置,交换排序的特点是:将键值较大的记录向序列的尾部移动,键值较小的记录向序列的前部移动. 简单选择排序:的基本思想:第1趟,在待排序记录r[1]~r[n]中选出最小的记录,将它与r[1]交换;第2趟,在待排序记录r[2]~r[n]中选出最小的记录,将它与r[2]交换;以此类推,第i趟在待排序记录r[i]~r[n]中选出最小的记录,将它与r[i]交换,使有序序列不断增长直到全部排序完毕. 插入排序法:有一个已经有序的

C#版 选择法、冒泡法、插入法和快速排序法分析与对比(一)

前言 之前老师就讲过了选择法和冒泡法,之后又提到了插入法和排序法,今天做了一个小DEMO,对比了一下四种方法的效率,当然看了很多大牛也博客,其实算法还设计了时间复杂度和空间复杂度,对于这两个概念,我只能从表面上进行理解,其中涉及到了很多数学的问题,所以就不展开写了. 选择排序 冒泡法 插入法 快速排序法 这部分知识比较新,而且内容比较多,所以打算单独另外总结一遍博客,来详细的总结一下这个方法~ DEMO(比较三个算法所用时间) 先说一下设计的思路,生成要求个数的不重复的随机数,将随机数循环赋给l

冒泡法排序_c++实现

看完了郝斌老师的c语言视频,冒泡法排序,就试着写了.我觉得学习算法最重要的不是代码,而是它的原理. 代码: 1 /** 2 * Copyright (c) 1991 - 2016 Arvin Tang. 3 * All rights reserved. 4 * 5 * 文件名称:郝斌C语言视频教程_163_冒泡排序 6 * 简要描述:用冒泡法排序 7 * 8 * 当前版本:1.0 9 * 作 者: 10 * 完成日期:2016-1-9 11 * 修订说明: 12 * 13 * 取代版本: 14

冒泡法、选择法、插入法、二分法

小序 排序是非常重要且很常用的一种操作,有冒泡排序.选择排序.插入排序.希尔排序.快速排序.堆排序等多种方法.这里我们先简单介绍前三种排序算法和代码的实现,其余算法将在后续课程<数据结构>中学习到.算法只是一种思想,其实现依赖于数据结构,所以这里提取出一些典型的算法和数据结构,包括排序以及链表/堆栈/队列等结构的操作. ------------------------------------------------------ 冒泡法排序 数组中有N个整数,用冒泡法将他们从小到大(或从大到小)