欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

C++如何使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法

小編給大家分享一下C++如何使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)公司主要從事成都網(wǎng)站設(shè)計(jì)、網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)新區(qū),十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):13518219792

題目:

一個(gè)棧中元素類型為整型,現(xiàn)在想將該棧從頂?shù)降装磸男〉酱蟮捻樞蚺判颍辉S申請(qǐng)一個(gè)輔助棧。

除此之外,可以申請(qǐng)新的變量,但不能申請(qǐng)額外的數(shù)據(jù)結(jié)構(gòu)。如何完成排序?

算法C++代碼:

class Solution
{
public:
  //借助一個(gè)臨時(shí)棧排序源棧
  static void sortStackByStack(stack<int>& s)
  {
    stack<int>* sTemp = new stack<int>;
    while (!s.empty())
    {
      int cur = s.top();
      s.pop();
      //當(dāng)源棧中棧頂元素大于臨時(shí)棧棧頂元素時(shí),將臨時(shí)棧中棧頂元素放回源棧
      //保證臨時(shí)棧中元素自底向上從大到小
      while (!sTemp->empty() && cur > sTemp->top())
      {
        int temp = sTemp->top();
        sTemp->pop();
        s.push(temp);
      }
      sTemp->push(cur);
    }
    //將臨時(shí)棧中的元素從棧頂依次放入源棧中
    while (!sTemp->empty())
    {
      int x = sTemp->top();
      sTemp->pop();
      s.push(x);
    }
  }
};

測試用例程序:

#include <iostream>
#include <stack>
using namespace std;
class Solution
{
public:
  //借助一個(gè)臨時(shí)棧排序源棧
  static void sortStackByStack(stack<int>& s)
  {
    stack<int>* sTemp = new stack<int>;
    while (!s.empty())
    {
      int cur = s.top();
      s.pop();
      //當(dāng)源棧中棧頂元素大于臨時(shí)棧棧頂元素時(shí),將臨時(shí)棧中棧頂元素放回源棧
      //保證臨時(shí)棧中元素自底向上從大到小
      while (!sTemp->empty() && cur > sTemp->top())
      {
        int temp = sTemp->top();
        sTemp->pop();
        s.push(temp);
      }
      sTemp->push(cur);
    }
    //將臨時(shí)棧中的元素從棧頂依次放入源棧中
    while (!sTemp->empty())
    {
      int x = sTemp->top();
      sTemp->pop();
      s.push(x);
    }
  }
};
void printStack(stack<int> s)
{
  while (!s.empty())
  {
    cout << s.top() << " ";
    s.pop();
  }
  cout << endl;
}
int main()
{
  stack<int>* s = new stack<int>;
  s->push(5);
  s->push(7);
  s->push(6);
  s->push(8);
  s->push(4);
  s->push(9);
  s->push(2);
  cout << "排序前的棧:" << endl;
  printStack(*s);
  Solution::sortStackByStack(*s);
  cout << "排序后的棧:" << endl;
  printStack(*s);
  system("pasue");
}

運(yùn)行結(jié)果:

排序前的棧:
2 9 4 8 6 7 5
排序后的棧:
9 8 7 6 5 4 2

以上是“C++如何使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

分享名稱:C++如何使用一個(gè)棧實(shí)現(xiàn)另一個(gè)棧的排序算法
當(dāng)前URL:http://aaarwkj.com/article6/gdseog.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、網(wǎng)站建設(shè)品牌網(wǎng)站設(shè)計(jì)、商城網(wǎng)站、ChatGPT、App開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
蜜臀av人妻一区二区三区| 亚洲av不卡一区二区在线观看| 国产日韩欧美一区二区三区四区| 在线观看后入大屁股| 欧美日韩视频一区二区| 亚洲精品美女久久久久高潮| 国产免费高清视频成人| 亚洲情欲一级片日韩欧美| 日本熟女视频中文字幕| 国产性色精品一区二区| 成人偷拍自拍在线视频| 日韩精品亚洲一区二区三区免费| 青青草国产自拍在线视频| 女人高潮被爽到呻吟在线| 日韩精品中文乱码在线观看| 国产精品大屁股白浆一区二区| 蜜臀av一区二区三区人妻| 国产亚洲精品视频在线| 色噜噜噜欧美人妻色综合| 国产精精精精品欧美日韩| 精品国产免费第一区二区三| 成人午夜在线三级内射| 人妻久久久久久精品99| 久久久国产精品久久久| 欧美一区日韩二区在线| 日韩中文字幕专区在线| 国产日韩欧在线视频| 国产麻豆91精品女同性恋| 综合久久精品亚洲天堂| 国产成+人+综合+亚洲专区| 天堂av影片在线观看| 亚洲精品中国一区二区久久| 国产视频成人免费观看| 国产又粗又长又大又长| 久久产精品一区二区三区日韩| 亚洲视频一直看一直爽| 懂色av中文字幕一区| 久久国产亚洲精品赲碰热| 亚洲最大成人av在线| 久久精品国产亚洲av久| 伊人久久综在合线亚洲|