国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Jadual Kandungan
Menggunakan timbunan tambahan
Langkah
Contoh
menggunakan pembolehubah sementara
menggunakan barisan
output
Rumah Java javaTutorial Program Java untuk memasukkan elemen di bahagian bawah timbunan

Program Java untuk memasukkan elemen di bahagian bawah timbunan

Feb 07, 2025 am 11:59 AM
java

Stack adalah struktur data yang mengikuti prinsip LIFO (terakhir, pertama keluar). Dalam erti kata lain, elemen terakhir yang kita tambahkan pada timbunan adalah yang pertama dikeluarkan. Apabila kita menambah (atau menolak) unsur ke timbunan, mereka diletakkan di atas; iaitu di atas semua elemen tambah sebelumnya.

Mungkin ada senario tertentu di mana kita perlu menambah elemen di bahagian bawah timbunan. Terdapat pelbagai cara untuk menambah elemen ke bahagian bawah timbunan. Mereka adalah -

  • Menggunakan timbunan tambahan
  • menggunakan rekursi
  • menggunakan pembolehubah sementara
  • menggunakan barisan

Menggunakan timbunan tambahan

kita boleh memasukkan elemen di bahagian bawah timbunan menggunakan timbunan tambahan (timbunan sekunder dengan menggunakan operasi) di Java. Di sini, kami akan menggunakan dua susunan (timbunan utama dan timbunan tambahan) untuk memasukkan elemen di bahagian bawah timbunan utama.

timbunan utama akan mempunyai unsur -unsur asal, sementara timbunan tambahan akan membantu kita menyusun semula unsur -unsur. Kaedah ini mudah difahami.

Langkah

berikut adalah langkah -langkah untuk memasukkan elemen di bahagian bawah timbunan menggunakan timbunan tambahan:

  • Inisialisasi dua susunan: Buat timbunan utama tolak beberapa elemen di dalamnya dan kemudian buat timbunan tambahan.
  • Pop semua elemen: kemudian keluarkan semua elemen dari timbunan utama dan tolak mereka ke dalam timbunan tambahan kedua. Ini akan membantu kita membalikkan urutan elemen.
  • Tolak elemen baru: Apabila timbunan utama kosong, kita perlu menolak elemen baru ke dalam timbunan utama atau anda juga boleh menolak elemen di atas timbunan tambahan jika anda mahu.
  • Pulihkan urutan asal: pop semua elemen dari timbunan tambahan dan tolak mereka kembali ke timbunan utama. Ini akan memulihkan urutan elemen asal.

Contoh

berikut adalah contoh bagaimana kita boleh menggunakan timbunan tambahan untuk menambah elemen di bahagian bawah -

import java.util.Stack;
public class InsertAtBottomUsingTwoStacks {    
   public static void insertElementAtBottom(Stack<Integer> mainStack, int x) {
      // Create an extra auxiliary stack
      Stack<Integer> St2 = new Stack<>();
      
      /* Step 1: Pop all elements from the main stack 
      and push them into the auxiliary stack */
      while (!mainStack.isEmpty()) {
         St2.push(mainStack.pop());
      }

      // Step 2: Push the new element into the main stack
      mainStack.push(x);

      /* Step 3: Restore the original order by popping each 
      element from the auxiliary stack and push back to main stack */
      while (!St2.isEmpty()) {
         mainStack.push(St2.pop());
      }
   }
   public static void main(String[] args) {
      Stack<Integer> stack1 = new Stack<>();
      stack1.push(1);
      stack1.push(2);
      stack1.push(3);
      stack1.push(4);

      System.out.println("Original Stack: " + stack1);
      insertElementAtBottom(stack1, 0);
      System.out.println("Stack after inserting 0 at the bottom: " + stack1);
   }
}

Dalam program di atas, kita mulakan dengan menolak unsur -unsur 1, 2, 3, dan 4 ke dalam timbunan. Kemudian, kami memindahkan unsur -unsur ini ke timbunan lain. Selepas itu, kami memasukkan elemen sasaran ke dalam timbunan utama. Akhirnya, kami mengambil semua elemen dari timbunan tambahan.

Program Java untuk memasukkan elemen di bahagian bawah timbunan

menggunakan rekursi

rekursi adalah satu lagi cara untuk memasukkan elemen di bahagian bawah timbunan. Dalam pendekatan ini, kami akan menggunakan fungsi rekursif untuk memunculkan semua elemen dari timbunan kami sehingga ia menjadi kosong, dan apabila ia menjadi kosong, kami akan memasukkan elemen baru ke dalam timbunan, dan kemudian menolak unsur -unsur kembali ke dalam timbunan.

Langkah

Berikut adalah langkah -langkah untuk memasukkan elemen di bahagian bawah timbunan menggunakan rekursi:

  • Kes asas: Semak jika timbunan kosong. Jika ia kosong, kami akan menolak elemen baru ke dalam timbunan.
  • kes rekursif: Jika timbunan tidak kosong, kami akan memaparkan elemen teratas dan memanggil fungsi secara rekursif.
  • memulihkan unsur -unsur: Setelah selesai dengan memasukkan elemen baru, kita perlu menolak unsur -unsur yang muncul sebelumnya ke dalam timbunan.

Contoh

import java.util.Stack;
public class InsertAtBottomUsingTwoStacks {    
   public static void insertElementAtBottom(Stack<Integer> mainStack, int x) {
      // Create an extra auxiliary stack
      Stack<Integer> St2 = new Stack<>();
      
      /* Step 1: Pop all elements from the main stack 
      and push them into the auxiliary stack */
      while (!mainStack.isEmpty()) {
         St2.push(mainStack.pop());
      }

      // Step 2: Push the new element into the main stack
      mainStack.push(x);

      /* Step 3: Restore the original order by popping each 
      element from the auxiliary stack and push back to main stack */
      while (!St2.isEmpty()) {
         mainStack.push(St2.pop());
      }
   }
   public static void main(String[] args) {
      Stack<Integer> stack1 = new Stack<>();
      stack1.push(1);
      stack1.push(2);
      stack1.push(3);
      stack1.push(4);

      System.out.println("Original Stack: " + stack1);
      insertElementAtBottom(stack1, 0);
      System.out.println("Stack after inserting 0 at the bottom: " + stack1);
   }
}

Dalam program di atas, kami menentukan fungsi rekursif yang memasukkan elemen baru di bahagian bawah timbunan, kami terus memaparkan unsur -unsur dari timbunan sehingga timbunan menjadi kosong, maka kami memasukkan elemen baru dan selepas itu , kami memulihkan unsur -unsur sebelumnya ke dalam timbunan.

menggunakan pembolehubah sementara

kita juga boleh mencapai tugas yang diberikan menggunakan pemboleh ubah sementara. Kami menggunakan pembolehubah ini untuk menyimpan unsur -unsur semasa kami memanipulasi timbunan. Kaedah ini mudah dan kita boleh melaksanakan menggunakan gelung mudah. ??

Langkah

berikut adalah langkah -langkah untuk memasukkan elemen di bahagian bawah timbunan menggunakan pembolehubah sementara & lt;

  • Mulakan pembolehubah sementara: Buat pembolehubah untuk sementara memegang unsur -unsur seperti yang anda lalui melalui timbunan.
  • elemen pemindahan: kemudian gunakan gelung untuk elemen pop dari timbunan dan simpan unsur -unsur tersebut dalam pembolehubah sementara.
  • Masukkan elemen baru: Setelah timbunan kita kosong, maka kita perlu menolak elemen baru ke dalam timbunan.
  • Pulihkan Elemen: Setelah memasukkan elemen, tolak unsur -unsur dari pembolehubah sementara kembali ke timbunan.

Contoh

import java.util.Stack;
public class InsertAtBottomUsingRecursion {
   public static void insertAtElementBottom(Stack<Integer> st, int x) {
      // Base case: If the stack is empty, push the new element
      if (st.isEmpty()) {
         st.push(x);
         return;
      }
      // Recursive case: Pop the top element
      int top = st.pop();
      
      // Call the function recursively
      insertAtElementBottom(st, x);
      
      // Restore the top element into the stack
      st.push(top);
   }
   
   public static void main(String[] args) {
      Stack<Integer> st = new Stack<>();
      st.push(1);
      st.push(2);
      st.push(3);
      st.push(4);
   
      System.out.println("Original Stack: " + st);
      insertAtElementBottom(st, 0);
      System.out.println("Stack after inserting 0 at the bottom: " + st);
   }
}

Dalam program ini, kami menggunakan array sementara untuk memegang unsur -unsur sambil memanipulasi timbunan. Kami kemudian memasukkan elemen baru ke dalam timbunan dan memulihkan unsur -unsur asal ke dalam timbunan.

menggunakan barisan

Dalam pendekatan ini, kami akan menggunakan barisan untuk memegang unsur -unsur sementara semasa memasukkan elemen baru di bahagian bawah timbunan. Kaedah ini adalah cara yang lebih baik untuk menguruskan susunan elemen. Menggunakan giliran kita boleh elemen baru ke timbunan tanpa mengganggu elemen yang sedia ada.

Langkah

berikut adalah langkah -langkah untuk memasukkan elemen di bahagian bawah timbunan menggunakan barisan -

  • Inisialisasi barisan: Buat giliran untuk memegang unsur -unsur dari timbunan.
  • elemen pemindahan: pop elemen dari timbunan dan enqueue mereka ke dalam barisan.
  • Masukkan elemen baru: tolak elemen baru ke dalam timbunan.
  • memulihkan unsur -unsur: menanggung unsur -unsur dari barisan dan menolaknya kembali ke dalam timbunan.

Contoh

import java.util.Stack;
public class InsertAtBottomUsingTempVar {
public static void insertAtElementBottom(Stack<Integer> st, int x) {
   // Temporary variable to hold elements
   int[] temp = new int[st.size()];
   int index = 0;

   // Transfer elements to temporary variable
   while (!st.isEmpty()) {
      temp[index++] = st.pop();
   }

   // Push the new element into the stack
   st.push(x);

   // Restore elements from temporary variable
   for (int i = 0; i < index; i++) {
      st.push(temp[i]);
   }
}
public static void main(String[] args) {
   Stack<Integer> st = new Stack<>();
   st.push(1);
   st.push(2);
   st.push(3);
   st.push(4);

   System.out.println("Original Stack: " + st);
   insertAtElementBottom(st, 0);
   System.out.println("Stack after inserting 0 at the bottom: " + st);
}
}

output

berikut adalah output kod di atas -

import java.util.Stack;
public class InsertAtBottomUsingTwoStacks {    
   public static void insertElementAtBottom(Stack<Integer> mainStack, int x) {
      // Create an extra auxiliary stack
      Stack<Integer> St2 = new Stack<>();
      
      /* Step 1: Pop all elements from the main stack 
      and push them into the auxiliary stack */
      while (!mainStack.isEmpty()) {
         St2.push(mainStack.pop());
      }

      // Step 2: Push the new element into the main stack
      mainStack.push(x);

      /* Step 3: Restore the original order by popping each 
      element from the auxiliary stack and push back to main stack */
      while (!St2.isEmpty()) {
         mainStack.push(St2.pop());
      }
   }
   public static void main(String[] args) {
      Stack<Integer> stack1 = new Stack<>();
      stack1.push(1);
      stack1.push(2);
      stack1.push(3);
      stack1.push(4);

      System.out.println("Original Stack: " + stack1);
      insertElementAtBottom(stack1, 0);
      System.out.println("Stack after inserting 0 at the bottom: " + stack1);
   }
}

Dalam pelaksanaan ini, kami menggunakan barisan untuk memegang unsur -unsur untuk masa sementara. Kami mula -mula memindahkan unsur -unsur sedia ada dari timbunan ke barisan. Kemudian, kami menolak elemen baru ke dalam timbunan dan memulihkan unsur -unsur asal dari barisan kembali ke timbunan

NOTA: kita boleh menggunakan struktur data lain seperti array, linkedlist, arraylist, dan lain -lain. Bukannya giliran.

Atas ialah kandungan terperinci Program Java untuk memasukkan elemen di bahagian bawah timbunan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1488
72
VSCODE SETTINGS.JSON Lokasi VSCODE SETTINGS.JSON Lokasi Aug 01, 2025 am 06:12 AM

Fail Tetapan.JSON terletak di laluan peringkat pengguna atau ruang kerja dan digunakan untuk menyesuaikan tetapan vscode. 1. Laluan peringkat pengguna: Windows adalah C: \ Users \\ AppData \ Roaming \ code \ user \ settings.json, macOS adalah /users//library/applicationsupport/code/user/settings.json, linux adalah/ 2. Laluan Tahap Ruang Kerja: .VSCODE/Tetapan dalam Direktori Root Projek

Bagaimana menangani transaksi di Java dengan JDBC? Bagaimana menangani transaksi di Java dengan JDBC? Aug 02, 2025 pm 12:29 PM

Untuk mengendalikan transaksi JDBC dengan betul, anda mesti terlebih dahulu mematikan mod komit automatik, kemudian melakukan pelbagai operasi, dan akhirnya melakukan atau mengembalikan semula hasilnya; 1. Panggil Conn.SetAutOcommit (palsu) untuk memulakan transaksi; 2. Melaksanakan pelbagai operasi SQL, seperti memasukkan dan mengemaskini; 3. Panggil Conn.Commit () jika semua operasi berjaya, dan hubungi conn.rollback () jika pengecualian berlaku untuk memastikan konsistensi data; Pada masa yang sama, cuba-dengan-sumber harus digunakan untuk menguruskan sumber, mengendalikan pengecualian dengan betul dan menutup sambungan untuk mengelakkan kebocoran sambungan; Di samping itu, adalah disyorkan untuk menggunakan kolam sambungan dan menetapkan mata simpan untuk mencapai rollback separa, dan menyimpan urus niaga sesingkat mungkin untuk meningkatkan prestasi.

Menguasai Suntikan Ketergantungan di Jawa dengan Spring dan Guice Menguasai Suntikan Ketergantungan di Jawa dengan Spring dan Guice Aug 01, 2025 am 05:53 AM

DependencyInjection (DI) isadesignpatternwhereBjectsReceivedependencys ke luar, promotingloosecouplingandeasieSierTestthroughconstructor, setter, orfieldInjection.2.springframeworkusesannotationsike@component,@service, dan@autowwithjava yang berasaskan@autowwithjava

Memahami dalaman Mesin Maya Java (JVM) Memahami dalaman Mesin Maya Java (JVM) Aug 01, 2025 am 06:31 AM

THEJVMenableSjava's "Writeonce, Runanywhere" keupayaanByExecutingByteCodeThroughFourMaincomponents: 1.TheClassloadersubsystemloads, pautan, danInitializes.ClassFilesusingBootstrap, Extension, andapplicationClassloaders, EnsuringseCureAndlazyCon

Bagaimana untuk bekerja dengan kalendar di Jawa? Bagaimana untuk bekerja dengan kalendar di Jawa? Aug 02, 2025 am 02:38 AM

Gunakan kelas dalam pakej Java.Time untuk menggantikan kelas lama dan kelas kalendar; 2. Dapatkan tarikh dan masa semasa melalui LocalDate, LocalDateTime dan Tempatan Tempatan; 3. Buat tarikh dan masa tertentu menggunakan kaedah (); 4. Gunakan kaedah tambah/tolak untuk meningkatkan dan mengurangkan masa; 5. Gunakan zoneddatetime dan zonid untuk memproses zon waktu; 6. Format dan parse date string melalui DateTimeFormatter; 7. Gunakan segera untuk bersesuaian dengan jenis tarikh lama apabila perlu; pemprosesan tarikh di java moden harus memberi keutamaan untuk menggunakan java.timeapi, yang memberikan jelas, tidak berubah dan linear

Google Chrome tidak dapat membuka fail tempatan Google Chrome tidak dapat membuka fail tempatan Aug 01, 2025 am 05:24 AM

Chromecanopenlocalfileslikehtmlandpdfsbyusing "openfile" ordraggingthemintothebrowser; ensureTheaddressStartSwithFile: ///; 2.securityRestrictionsblockajax, localStorage, andcross-folderacSonfile:/ealerSoR.

Memahami Pelabuhan Rangkaian dan Firewall Memahami Pelabuhan Rangkaian dan Firewall Aug 01, 2025 am 06:40 AM

NetworkPortsandFireWallSworkTogethertoenableCommunicationWileensuringsecurity.1.networkportsarevirtualendpointsNumbered0-655 35, Withwell-KnownportsLike80 (http), 443 (https), 22 (ssh), dan25 (smtp) identitispecificservices.2.portsoperateovertcp (boleh dipercayai, c

Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Membandingkan kerangka Java: Spring Boot vs Quarkus vs Micronaut Aug 04, 2025 pm 12:48 PM

Pra-formancetartuptimemoryusage, quarkusandmicronautleadduetocompile-timeprocessingandgraalvsupport, withquarkusoftenperforminglightbetterine serverless scenarios.tyvelopecosyste,

See all articles