Tujuan tatasusunan adalah untuk menyediakan akses kepada jenis data yang sama pada berbilang lokasi memori melalui alamat asas dan indeks. Dalam pelbagai aplikasi, tatasusunan digunakan untuk menyimpan data atas pelbagai sebab. Tatasusunan mesti mengendalikan menambah, mengalih keluar dan mengemas kini elemen dengan cekap seperti struktur data lain. Kedua-dua tatasusunan statik dan tatasusunan dinamik mengandungi banyak fungsi perpustakaan yang mengendalikan pelbagai operasi berkaitan tatasusunan dalam C++. Tetapi dalam artikel ini, kita akan melihat cara mengalih keluar elemen daripada tatasusunan tanpa menggunakan sebarang fungsi perpustakaan.
Given array A = [89, 12, 32, 74, 14, 69, 45, 12, 99, 85, 63, 32] After deleting an element from index 5, the array will be like this: A = [89, 12, 32, 74, 14, 45, 12, 99, 85, 63, 32]
Padam elemen dari mana-mana kedudukan, terdapat tiga situasi yang mungkin. Padam dari awal, padam dari akhir, padam dari tengah mana-mana indeks. Mengalih keluar dari hujung tidak memerlukan sebarang peralihan. Tetapi baki dua yang lain memerlukan elemen bergerak ke kiri. Mula-mula keluarkan elemen dari kedudukan dan kemudian isikan kedudukan dengan elemen berturut-turut. Mari kita lihat algoritma dan kod C++ untuk pemahaman yang jelas.
Dapatkan tatasusunan A dengan n elemen, kedudukannya adalah pos
Jika pos >= n + 1, maka
Tidak boleh dipadam, keluar dari fungsi
Jika tidak
Untuk indeks c = pos ke n − 1, lakukan perkara berikut
A[c]=A[c+1]
Tamat
n := n − 1
Tamat jika
#include <iostream> #include <algorithm> # define Z 30 using namespace std; void displayArr(int arr[], int n ) { for( int i = 0; i < n; i++ ){ cout << arr[ i ] << ", "; } cout << endl; } void deleteElement( int A[], int &n, int pos ){ if ( pos >= n + 1 ) { cout << "Deletion not possible" << endl; return; } else { for ( int c = pos; c < n ; c++ ) { A[ c ] = A[ c + 1 ]; } n = n - 1; } } int main() { int arr[ Z ] = {84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20}; int n = 15; cout << "Given array elements: "; displayArr( arr, n); cout << "Delete from last position (position 15)" << endl; deleteElement( arr, n, 15 ); cout << "Array after deleting last element: " << endl; displayArr( arr, n); cout << "Delete from first position (position 0)" << endl; deleteElement( arr, n, 0 ); cout << "Array after deleting first element: " << endl; displayArr( arr, n); cout << "Delete from position 7" << endl; deleteElement( arr, n, 7 ); cout << "Array after deleting element from index 7: " << endl; displayArr( arr, n); }
Given array elements: 84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, 20, Delete from last position (position 15) Array after deleting last element: 84, 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, Delete from first position (position 0) Array after deleting first element: 56, 21, 32, 74, 96, 85, 41, 21, 94, 20, 37, 36, 75, Delete from position 7 Array after deleting element from index 7: 56, 21, 32, 74, 96, 85, 41, 94, 20, 37, 36, 75,
Kami telah menunjukkan cara untuk mengalih keluar elemen daripada tatasusunan dalam artikel ini. Ini adalah proses universal dan kami boleh memadamkan mana-mana sahaja yang kami suka, termasuk permulaan, penghujung dan tengah. Vektor tidak digunakan kerana kami tidak menggunakan sebarang fungsi perpustakaan. Untuk tatasusunan bersaiz dinamik, pendekatan berasaskan vektor juga merupakan pilihan.
Atas ialah kandungan terperinci Program C++ untuk memadam elemen daripada tatasusunan tanpa menggunakan fungsi perpustakaan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!