精华内容
下载资源
问答
  • 冒泡排序法实现数字从大到小排序

    千次阅读 2018-09-28 20:56:51
    1、冒泡排序是非常常用的排序方法,其思想是:先选定第个数字为最小(最大)再对数字两两进行比较,得到两者之间的最小(最大)值。具体代码实现如下: `#include #include <time.h> ...

    1、冒泡排序是非常常用的排序方法,其思想是:先选定第一个数字为最小(最大)再对数字两两进行比较,得到两者之间的最小(最大)值。具体代码实现如下:

    #include <iostream>
    #include <time.h>
    using namespace std;
    
    void srandData(int *, int );//产生随机数的函数
    void bubbleSort(int *, int );//冒泡排序具体实现函数
    void swap(int *, int *);//两个数字实现交换的函数
    void display(int *, int );//在屏幕输出结果函数
    
    int main()
    {
    	const int N = 10;//定义常数
    	int arr[N];//定义数组
    	
    	srandData(arr, N);
    	bubbleSort(arr, N);
    	display(arr, N);
    
    	return 0;
    
    }
    
    void srandData(int *a, int n)
    {
    	srand(time(NULL));
    
    	for(int i = 0; i < n; i++)
    	{
    		a[i] = rand() % 50;//取50以下的数字
    		cout << a[i] << " ";
    	}
    
    	cout << endl;
    }
    
    void swap(int *b, int *c)
    {
    	
    	int temp = *c;
    	*c = *b;
    	*b = temp;
    }
    
    void bubbleSort(int *a, int n)
    {
    
    	for(int i = 0; i < n; i++)
    	{
    		for(int j = 0; j < n - i - 1; j++)
    		{
    			if(a[j] < a[j + 1])
    			{
    				swap(&a[j], &a[j + 1]);//两者交换
    			}
    		}
    	}
    }
    void display(int *d, int n)
    {
    	for(int i = 0; i < n; i++)
    	{
    		cout << d[i] << " ";
    	}
    	cout << endl;
    }
    
    展开全文
  • 上图是按从小到大的顺序排列大到以此类推。 import java.util.Scanner; public class Prog35 { public static void main(String[] args) { System.out.print("请输入一组数:"); Scanner s...

    程序分析:首先输入一组数据,然后对其进行排序,每次选取一个元素放在其最终位置。上图是按从小到大的顺序排列,从大到小以此类推。

    import java.util.Scanner;
    
    public class Prog35 {
    	public static void main(String[] args) {
    		System.out.print("请输入一组数:");
    		Scanner scan = new Scanner(System.in).useDelimiter("\\s");
    		int[] a = new int[50];
    		int m = 0;
    		while (scan.hasNextInt()) {
    			a[m++] = scan.nextInt();
    		}
    		scan.close();
    		int[] b = new int[m];
    		for (int i = 0; i < m; i++)
    			b[i] = a[i];
    		for (int i = 0; i < b.length; i++)
    			for (int j = 0; j < b.length - i - 1; j++)
    				if (b[j] < b[j + 1]) {
    					int temp = b[j];
    					b[j] = b[j + 1];
    					b[j + 1] = temp;
    				}
    		for (int i = 0; i < b.length; i++)
    			System.out.print(b[i] + " ");
    
    	}
    }
    

     

    展开全文
  • 用冒泡排序从小到大排列一组数; 首先跟选择排序一样我们要了解冒泡排序的思路: 选择排序是拿一个依次和后面的每个比,每一轮得出一个最大的; 而冒泡排序则是相邻的两个进行比较,如果前面的大于...

    用冒泡排序从小到大排列好一组数;

    首先跟选择排序一样我们要了解冒泡排序的思路:

    选择排序是拿一个数依次和后面的每个数比,每一轮得出一个最大的数;

    而冒泡排序则是相邻的两个数进行比较,如果前面的数大于后面的数,则两个数交换位置;



     

        //规律,n个数,比較n-1 轮, 每轮比較的次数逐渐降低

        //    var arr = [65, 97, 76, 13, 27, 49, 58];
        var temp;

        //1 外层循环:控制比較的轮数

    function sort(){  

        for (var i = 0; i < arr.length - 1; i++) {
          
          //2 内层循环:控制每一轮比較的次数,次数递减
          for (var j = 0; j < arr.length - i - 1; j++) {
            //3 判断当前项和后项的大小,如果当前项大于后项,交换两个位置的值
            if (arr[j] > arr[j + 1]) {
              //4 交换
              temp = arr[j];
              arr[j] = arr[j + 1];
              arr[j + 1] = temp;
            }
          }

        }

    return arr;

    }

        console.log(arr);



    到这一步就基本排序完了,但是此时代码还可以再优化一下;

    functtion sort1(){ 
        var arr = [1, 2, 3, 5, 4];
        var temp;
        //1 外层循环:控制比較的轮数
        for (var i = 0; i < arr.length - 1; i++) {
          //----假设当前这一轮可以排序完毕(假设状态)可以跳出
          var flag = true;
          
          //2 内层循环:控制每一轮比較的次数,次数递减
          for (var j = 0; j < arr.length - i - 1; j++) {
            
            //3 判断当前项和后项的大小,如果当前项大于后项,交换两个位置的值
            if (arr[j] > arr[j + 1]) {
              //4 交换
              temp = arr[j];
              arr[j] = arr[j + 1];
              arr[j + 1] = temp;
              
              //----更改假设状态,进入了if,说明没有排序完毕,设置flag为false
              flag = false;
            }
          }
          //每一轮执行的时候,都有可能已经排序完毕了
          //我们需要在每一轮比較结束后,去检查当前排序的状态,如果已经排序完毕,跳出
          
          //是否排序完毕,我们可以通过观察if是否被进入来确定
          
          //结束前,进行验证,如果到结束位置,flag值为true,说明排序完毕
          if (flag) {
            break;
          }
          
        }

    return arr;
    }    
        console.log(arr);


    展开全文
  • 快速排序法:通过排序将要排序的数据分割成独立的两部分,其中部分的所有数据都比另部分的所有数据要,然后再按此方法对这两部分数据分别进行快速排序(此过程可以用到函数递归的方法)。 #include #...

    快速排序法:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另一部分的所有数据要小,然后再按此方法对这两部分数据分别进行快速排序(此过程可以用到函数递归的方法)。

    #include <iostream>
    #include <time.h>//引入头文件
    using namespace std;
    
    void srandData(int *, int );//用随机数初始化数组的函数
    void sort(int *, int ,int );//快速排序法实现函数
    void display(int *, int );//在屏幕上输出函数
    int main()
    {
    	const int N = 10;
    	int arr[N];
    
    	srandData(arr, N);
    	sort(arr, 0, N - 1);
    	display(arr, N);
    
        return 0;
    }
    void srandData(int *a, int n)
    {
        srand(time(NULL));
    	
    	for (int i = 0; i < n; i++)
    	{
    		a[i] = rand() % 50;//取50以下的数字
    		cout << a[i] << " ";
    	}
    	
    	cout << endl;
    }
    void sort(int *a, int start, int end)
    {
    	if(start >= end)
    	{
    		return ;
    	}
        int i = start;
        int j = end;
        int key = a[i];//设置基准位
    	while(i < j)
    	{
    		while(i < j && a[j] >= key)
    		{
    			j--;
    		}
    		a[i] = a[j];
    		while(i < j && a[i] <= key)
    		{
    			i++;
    
    		}
    		a[j] = a[i];
    	}
    	a[i] = key;
    	sort(a, start, i - 1);//此处用到函数递归的方法
    	sort(a, i + 1, end);
    }
    void display(int *a, int n)
    {
        for(int i = 0; i < n; i++)
        {
            cout << a[i] << " ";
        }
        cout << endl;
    }
    
    展开全文
  • 对数进行从大到小排序

    千次阅读 2020-05-20 16:16:09
    要想对数进行从大到小排序,我们可以使用for循环对数进行下标变化来达到从大到小排序。 int[] arr={1,3,2,5,4}; //排序 Arrays.sort(arr); for(int x:arr){ System.out.println(x); } System.out....
  • #include&lt;iostream&gt; #include&...//创建个结构体,表示链表的节点类型  struct node{  int data;  struct node *next; }; int main() {  struct node *head,*p,*q,*t;  int n,a...
  • 冒泡排序 例题:给出一组数将这组按从小到大的顺序输出出来 学习笔记,方便自己日后复习,也可供大家参考学习 冒泡排序百度上是这样定义的: 冒泡排序:它重复的走访过要排序的元素列,依次比较两个相邻元素,如果他们...
  • 算法分析期末考试题 #include <stdio.h> int main() { int i, a[10], j, t; for (i = 0; i < 10; ++i){ scanf ("%d", &a[i]); } for (i = 0; i < 10; ++i){ for (j = i+1;...
  • int[] number = new int[5] { 2, 1, 5, 3, 4 };  for (int i = 0; i  {  for (int j = 0; j  {  if (number[j]
  • 将10个数从大到小排序

    千次阅读 2018-11-24 00:44:59
    这是排序的算法 代码如下: printf(“请输入要排序的10个; \n”); int arr[10]; int i = 0; int j = 0; int t = 0; for (i = 0; i &lt; 10; i++) { scanf("%d", &amp;arr[i]); } for (i = ...
  • 在Arrays的方法中的Arrays.sort()排序中,默认为从小到大排序,如果想用Arrays.sort()大到的顺序排列,则需要用到Comparator比较器接口; 实现java.util.Comparator; package java.util; public interface...
  • 从大到小: #include using namespace std; int main() {  int a[1000]; int n; cin>>n; for(int i=0;i { cin>>a[i]; } for(int i=0;i { for(int j=0;j { if(a[j] swap(a[j],a[j+1]); } } for(int i
  • //对34,5,22,-98,6,-76,0,-3这一组数从小到大排序 int arr[] = new int[]{34, 5, 22, -98, 6, -76, 0, -3}; //外层循环控制排序的次数 for (int i = 0; i < arr.length - 1; i++) { //内层循环读取数组的元素...
  • 三个数从大到小排序——函数法

    千次阅读 2018-03-12 20:10:30
    先看下面段代码#define _CRT_SECURE_NO_WARNINGS 1 #include&lt;stdio.h&gt; #include&lt;stdlib.h&gt; int main() { int num = 10; int* p = # *p = 20; //解引用 printf("num = %d\n...
  • 输入n(n)个整数,按照绝对值从大到小排序后输出。题目保证对于每个测试实例,所有的的绝对值都不相等。 Input 输入数据有多,每行,每行的第个数字为n,接着是n个整数,n=0表示输入数据的结束,不做...
  • Java基础 数组从大到小排序

    千次阅读 2018-06-26 00:07:25
    /* * 在键盘上输入N个整数,试编制程序使该数组 * 中的按照从大到小的次序排列。 */package stuClass; import java.util.Arrays; import java.util.Scanner; public class Test09 { public static void ...
  • 编写排序子函数,将10个小到大排序,并在主函数中调用它 编写排序子函数,将10个小到大排序,并在主函数中调用它
  • C语言数组,将元素中的数字从大到小排列

    万次阅读 多人点赞 2017-12-25 10:11:10
    #include void main() { int scores[] = {543, 323, 32, 554, 11, 3, 112}; int i; int j; int k; for(i=0;i { for(j=i+1;j { if(scores[i] { k=scores[i]; scores[i]=scores[j]; scores[j]=k;...}
  • Java Arrays实现数组从大到小排序

    万次阅读 2019-03-20 15:42:41
    目前提供两种方法实现列表或者数组从大到小排序 方法: Integer a[]=new Integer[]{34,4,45,12,92,9}; Arrays.sort(a, new Comparator() { @Override public int compare(Integer o1, Integer o2) { return o2-o1;...
  • 十个数字按从大到小排序

    千次阅读 2018-11-23 22:05:33
    4:冒泡法就是将数从下面浮上来,两个两个进行的比较,进行交换,指导把最大的或最小的浮最上面 5:选择法的思路。设有10个元素a[1]~a[10],将a[1]与a[2]~a[10]比较,若a[1]比a[2]~a[10]都,则不进行交换...
  • 排序方式为先按照因子数量从大到小排列,对于因子数量相同的按照值从大到小排。  比如数列[6,8,12,1,9,50],6的因子有1,2,3,6,因子数量为4;8的因子有1,2,4,8,因子数量为4.  按照因子数量排列的结果是[12,50,6...
  • 输入一组大于等于0的整数,根据从大到小的顺序  排序后输出;如果排序后有连续时,只输出连续输的最大  和最小数。输入的所有整数都各不相同,即不用考虑两个整  相同的情况。  如:输入4,7,2...
  • c语言实现10个小到大排序(快速排序法)

    万次阅读 多人点赞 2018-08-07 22:58:35
    快速排序原理: 序列“2,3,5,7,9,6,4,1,0,8”两端开始 (1)首先将2作为基准,应用2个变量i和j分别指向序列左端...(5)当i和j都1数值1时,表明第轮交换结束,将基准2和1进行交换,以基准2为分界点,2...
  • //在个数组里大到小排序(冒泡排序)和从小到大排序(下沉排序) public static void main(String[] args){ int[] arr = {5,23,35,17,78,36}; sortPop(arr); for(int i=0;i<arr.length;i++){ System.out....
  • 程序题: 编写函数,用冒泡法将给定的无序数组从大到小排列,要求参与排序的元素的个数通过参数传递。 程序分析: 见截图红色字体
  • 某笔试中的题,不得不承认这道题是个好题,考察了很多方面。js的数组操作,算法,逻辑能力,还有预防各种坑的能力…… ...排序方式为先按照因子数量从大到小排列,对于因子数量相同的按照值从大到小排。
  • 已有个已排好的9个元素的数组,今输入要求按原来排序的规律将它插入数组中。 Input 第行,原始数列。第二行,需要插入的数字。 Output 排序后的数列 Sample Input 1 7 8 17 23 24 59 62 101 ...
  • assume ds:data data segment a dw 1,4,2,5,7,9,6,3 data ends code segment start: mov ax,data mov ds,ax mov cx,8 dec cx lop1: push cx ...
  • #include<iostream> using namespace std; void insert(int a[],int b,int n) { int n2=n+1,i=0; int next[n+1]; while(i<n) { if (a[i]<b) { next[i]=a[i]; i++; ... next...
  • 对数中的数字从小到大排序

    千次阅读 2018-03-22 19:22:46
    微信程序开发交流qq群 173683895 承接微信程序开发。扫码加微信。 var arr = [ {name:'1',age:1}, {name:'2',age:4}, {name:'3',age:2} ]; function compare(e){ return function(a,b){ var value1 = ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,063,739
精华内容 425,495
关键字:

一组数从大到小排序