Rumah > Artikel > pembangunan bahagian belakang > Dalam C++, susun semula nombor positif dan negatif menggunakan ruang tambahan tetap
Kami mempunyai tatasusunan jenis integer yang mengandungi nombor positif dan negatif, dengan mengandaikan ia ialah arr[] daripada sebarang saiz tertentu. Tugasnya adalah untuk menyusun semula tatasusunan supaya semua elemen tatasusunan diisih menggunakan fungsi isihan terbina dalam C++ STL dan menggunakan rekursi Pengekodan teknikal dan pencetakan keputusan.
Input − int arr[] = {4, 2, -1 , -1, 6, -3, 0}
Output − Susun semula nombor positif dan negatif, menggunakan ruang tambahan tetap: -3 -1 -1 0 6 2 4 .
Penjelasan − Kami diberi tatasusunan integer bersaiz 7, mengandungi unsur positif dan negatif. Sekarang, kita akan menyusun semula tatasusunan supaya semua elemen dalam tatasusunan diisih dalam ruang tambahan yang berterusan dan hasil akhirnya ialah -3 -1 -1 0 2 4 6.
Input − int arr[] = {-9, -10, 2, 3, 10, 5, 8, 4}
Output − Susun semula nombor positif dan negatif, menggunakan ruang tambahan tetap: -9 -10 2 3 10 5 8 4
Penjelasan# Kami# ∜🎜 diberi tatasusunan integer bersaiz 8 yang mengandungi unsur positif dan negatif. Sekarang, kita akan menyusun semula tatasusunan supaya semua elemen dalam tatasusunan diisih dalam ruang tambahan yang berterusan dan hasil akhir ialah -9 -10 2 3 10 5 8 4.
Kaedah yang digunakan dalam atur cara berikut adalah seperti berikut#include<iostream> using namespace std; void Rearrangement(int arr[], int size){ int i = 0; int j = size - 1; while(true){ while(arr[i] < 0 && i < size){ i++; } while(arr[j] > 0 && j >= 0){ j--; } if (i < j){ int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } else{ break; } } } int main(){ int arr[] = {4, 2, -1, -1, 6, -3, 0}; int size = sizeof(arr)/sizeof(arr[0]); //calling the function to rearrange the array Rearrangement(arr, size); //print the array after rearranging the values cout<<"Rearrangement of positive and negative numbers with constant extra space is: "; for(int i = 0; i < size; i++){ cout<< arr[i] << " "; } return 0; }
Rearrangement of positive and negative numbers with constant extra space is: -3 -1 -1 0 6 2 4
Atas ialah kandungan terperinci Dalam C++, susun semula nombor positif dan negatif menggunakan ruang tambahan tetap. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!