Program C++ untuk memadam elemen daripada tatasusunan tanpa menggunakan fungsi perpustakaan

WBOY
Lepaskan: 2023-09-09 10:45:02
ke hadapan
1100 orang telah melayarinya

Program C++ untuk memadam elemen daripada tatasusunan tanpa menggunakan fungsi perpustakaan

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.

Fahami konsep dan gambarkan dengan contoh

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]
Salin selepas log masuk

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.

Algoritma

  • 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

Terjemahan bahasa Cina bagi

Contoh

ialah:

Contoh

#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);
}
Salin selepas log masuk

Output

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,
Salin selepas log masuk

Kesimpulan

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!

sumber:tutorialspoint.com
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan