首页 > 其他分享 >对栈排序

对栈排序

时间:2022-10-13 12:23:13浏览次数:46  
标签:对栈 temp Stack isEmpty 新栈 排序 stack2 stack

public static void sortStack(Stack stack){     int temp;     Stack stack2 = new Stack<>();     while(!stack.isEmpty()) {       temp = stack.pop();       if (stack2.isEmpty()) {         stack2.push(temp);       } else {       while(!stack2.isEmpty() && stack2.peek() > temp){          stack.push(stack2.pop());         }         stack2.push(temp);       }     } } 比如原来栈中是3,7,2,5,1,则新栈中先加入3,7,此时原栈中取出2时,新栈的3,7,都大于2,所以都取出来,加入到旧的栈中,然后从旧的栈中取出3,7,再加入新栈。

标签:对栈,temp,Stack,isEmpty,新栈,排序,stack2,stack
From: https://www.cnblogs.com/MarkLeeBYR/p/16787753.html

相关文章

  • python 排序函数--sort()--sorted()
    python中有两种排序方法,list内置sort()方法或者python内置的全局sorted()方法区别为:sort()方法对list排序会修改list本身,不会返回新list。sort()只能对list进行排序。......
  • mysql的sql是先分组还是先排序?
    一、实验准备  实验对象:mysql5.7.36-log实验环境:  1、MicrosoftWindows版本21H2(操作系统内部版本19044.2006)  2、一张有一个字段可供排序有一个字段可供分组......
  • Java8集合通过流排序,Stream<T> sorted(Comparator<? super T> comparator)
    Java8中,可以通过流的sorted操作对流中的元素排序,sorted操作的参数是Comparator接口,通过传入一个比较函数来实现排序操作,最直接的,就是通过形如(a,b)->{in......
  • js 冒泡排序
    冒泡排序趟数?次数?vara=[10,5,7,8,4,3,2,4,1,0];//从小到大for(vari=0;i<a.length;i++){//趟数for(varj=0;j<a.length......
  • JavaScript 实现 -- 插入排序
    前言本文主要记录了JavaScript实现--插入排序,以及原理、时间复杂度、空间复杂度和算法稳定性。插入排序插入排序,一般也被称为直接插入排序。对于少量元素的排序,它是一......
  • php 二维数组排序
    PHP二维数组排序(简单易懂版)1.先定义一个数组  $data[]=array('volume'=>67,'asd'=>'b','edition'=>2);$data[]=array('volume'=>86,'cc'=>'b','edition'=>1......
  • 常见交换排序分析
    冒泡排序冒泡排序的基本思想是从后往前或者从前往后,进行两两相邻比较元素的值,如果是所排序的逆序,那么就进行交换。这种排序的效果就像水中的气泡从在较深处由于压强大气泡......
  • 插入排序算法步骤和思路
    算法步骤将待排序序列第一个元素看做一个有序序列,把第二个元素到最后一个元素当成是未排序序列。从头到尾依次扫描未排序序列,将扫描到的每个元素插入有序序列的适当位置......
  • 冒泡排序array
    importjava.util.Arrays;publicclassDemo07{publicstaticvoidmain(String[]args){int[]a={1,5,8,3,22,13};int[]sort=sort(a);//调用......
  • 各种排序算法时间复杂度
    各种排序算法比较  各种常用排序算法类别排序方法时间复杂度空间复杂度稳定性复杂性特点最好平均最坏辅助存储 简单 插入排序直接插入O(N)O(N2)O(N2)O(1)稳定简单  希......