Disyorkan, 2020

Pilihan Editor

Perbezaan antara Array dan Senarai Terkait

Perbezaan utama antara senarai Array dan Linked berkaitan dengan struktur mereka. Array adalah struktur data berasaskan indeks di mana setiap elemen yang berkaitan dengan indeks. Sebaliknya, senarai Terkait bergantung pada rujukan di mana setiap nod terdiri daripada data dan rujukan kepada unsur sebelumnya dan seterusnya.

Pada asasnya, tatasusunan adalah satu set objek data yang sama yang disimpan dalam lokasi memori berturut-turut di bawah tajuk biasa atau nama berubah.

Walaupun senarai terkaitan adalah struktur data yang mengandungi urutan elemen di mana setiap unsur dikaitkan dengan elemen seterusnya. Terdapat dua bidang dalam elemen senarai tertaut. Satu ialah medan Data, dan medan pautan lain, Bidang data mengandungi nilai sebenar untuk disimpan dan diproses. Selain itu, medan pautan memegang alamat item data seterusnya dalam senarai yang dipautkan. Alamat yang digunakan untuk mengakses nod tertentu dikenali sebagai penunjuk.

Satu lagi perbezaan penting antara senarai array dan pautan adalah bahawa Array mempunyai saiz tetap dan diperlukan untuk diisytiharkan sebelumnya, tetapi Senarai Berkaitan tidak terhad kepada saiz dan pengembangan dan kontrak semasa pelaksanaan.

Carta Perbandingan

Asas untuk PerbandinganArraySenarai yang dipautkan
AsasIa adalah set konsisten bilangan item data tetap.Ia adalah satu set pesanan yang terdiri daripada beberapa nombor data yang berubah-ubah.
SaizDitetapkan semasa perisytiharan.Tidak perlu menyatakan; tumbuh dan menyusut semasa pelaksanaan.
Peruntukan PenyimpananLokasi unsur diperuntukkan semasa masa penyusunan.Kedudukan unsur ditugaskan semasa masa tamat.
Perintah unsur-unsurDisimpan berturut-turutDisimpan secara rawak
Mengakses elemenLangsung atau secara rawak diakses, iaitu Menentukan indeks tatasusunan atau subskrip.Berjalan secara berpasangan, iaitu, Traverse bermula dari nod pertama dalam senarai oleh penuding.
Memasukkan dan penghapusan elemenLambat agak kerana peralihan diperlukan.Lebih mudah, pantas dan cekap.
MencariCarian binari dan carian liniercarian linear
Memori diperlukankurangLebih banyak
Penggunaan MemoriTidak berkesanCekap

Definisi Array

Arahan didefinisikan sebagai satu set bilangan pasti unsur-unsur homogen atau item data. Ini bermakna array boleh mengandungi satu jenis data sahaja, sama ada semua bilangan bulat, semua nombor terapung, atau semua aksara. Pengisytiharan pelbagai adalah seperti berikut:
int a [10];
Di mana int menentukan jenis data atau menaip pelbagai kedai unsur. "A" ialah nama sesuatu tatasusunan, dan bilangan yang dinyatakan di dalam kurungan segiempat ialah bilangan elemen yang dapat disimpan oleh array, ini juga dipanggil saiz atau panjang array.

Marilah kita melihat beberapa konsep yang perlu diingat mengenai tatasusunan:

  • Unsur-unsur dalam satu array boleh diakses dengan menerangkan nama array, diikuti dengan indeks atau subskrip (menentukan lokasi elemen dalam array) di dalam kurungan persegi. Sebagai contoh, untuk mendapatkan elemen ke 5 array, kita perlu menulis pernyataan [4].
  • Dalam sebarang kes, unsur-unsur pelbagai akan disimpan di lokasi memori berturut-turut.
  • Unsur pertama dalam array mempunyai indeks sifar [0]. Ini bermakna unsur pertama dan terakhir akan ditentukan sebagai [0], dan [9] masing-masing.
  • Bilangan unsur yang boleh disimpan dalam tatasusunan, iaitu saiz array atau panjangnya diberikan oleh persamaan berikut:
    (terikat teratas atas) + 1
    Untuk array di atas, ia akan menjadi (9-0) + 1 = 10. Di mana 0 adalah terikat bawah array, dan 9 ialah teratas atas array.
  • Array boleh dibaca atau ditulis melalui gelung. Sekiranya kita membaca pelbagai dimensi satu dimensi, ia memerlukan satu gelung untuk bacaan dan lain-lain untuk menulis (mencetak) array, contohnya:
    a. Untuk membaca pelbagai
    untuk (i = 0; i <= 9; i ++)
    {scanf ("% d", & a [i]); }
    b. Untuk menulis pelbagai
    untuk (i = 0; i <= 9; i ++)
    {printf ("% d", a [i]); }
  • Dalam kes array 2-D, ia memerlukan dua gelung dan pelbagai n-dimensi yang sama memerlukan n gelung.

Operasi yang dilakukan pada tatasusunan adalah:

  1. Penciptaan array
  2. Melangkah array
  3. Memasukkan elemen baru
  4. Pemadaman elemen yang diperlukan.
  5. Pengubahsuaian unsur.
  6. Penggabungan array

Contoh

Program berikut menggambarkan pembacaan dan penulisan array.

#include
#include
void main ()
{
int a[10], i;
printf("Enter the array");
for ( i= 0; i <= 9; i++)
{
scanf ( "%d", &a[ i ] ) ;
}
printf( "Enter the array" );
for (i = 0 ; i <= 9 ; i++)
{
printf ( "%d\n", a[ i ] ) ;
}
getch ();
}

Definisi Senarai Terkait

Senarai yang dipautkan adalah senarai tertentu beberapa elemen data yang dikaitkan dengan satu sama lain. Di dalam setiap perkara ini elemen ke elemen seterusnya yang mewakili pesanan logik. Setiap elemen dipanggil nod, yang mempunyai dua bahagian.

INFO bahagian yang menyimpan maklumat dan POINTER yang menunjuk ke elemen seterusnya. Seperti yang anda ketahui untuk menyimpan alamat, kami mempunyai struktur data yang unik dalam C yang disebut sebagai petunjuk. Oleh itu medan kedua senarai mestilah jenis penunjuk.

Jenis senarai yang dipautkan ialah senarai Singly-linked, senarai yang berkaitan dengan Doubly, senarai hubungan Pekeliling, senarai hubungan dua pekeliling.

Operasi yang dilakukan pada Senarai Berkaitan adalah:

  1. Ciptaan
  2. Traversing
  3. Memasukkan
  4. Pemadaman
  5. Mencari
  6. Perpaduan
  7. Paparan

Contoh

Coretan berikut menggambarkan penciptaan senarai berkaitan:

struct node
{
int num;
stuct node *next;
}
start = NULL;
void create()
{
typedef struct node NODE;
NODE *p, *q;
char choice;
first = NULL;
do
{
p = (NODE *) malloc (sizeof (NODE));
printf ("Enter the data item\n");
scanf ("%d", & p -> num);
if (p == NULL)
{
q = start;
while (q -> next ! = NULL)
{ q = q -> next
}
p -> next = q -> next;
q -> = p;
}
else
{
p -> next = start;
start = p;
}
printf ("Do you want to continue (type y or n) ? \n");
scanf ("%c", &choice) ;
}
while ((choice == 'y') || (choice == 'Y'));
}

Perbezaan Kunci Antara Array dan Senarai Terkait

  1. Arahan adalah struktur data yang mengandungi koleksi elemen data jenis yang sama manakala senarai Terkait dianggap sebagai struktur data bukan primitif yang mengandungi koleksi unsur-unsur berkaitan tanpa urutan yang dikenali sebagai nod.
  2. Dalam tatasusunan unsur-unsur tergolong dalam indeks, iaitu, jika anda ingin masuk ke elemen keempat anda perlu menulis nama pemboleh ubah dengan indeks atau lokasinya dalam kurungan persegi.
    Dalam senarai yang disambung walaupun, anda perlu bermula dari kepala dan bekerja dengan cara anda sampai ke elemen keempat.
  3. Semasa mengakses pelbagai elemen adalah pantas manakala senarai Berkaitan mengambil masa linear jadi, ia agak perlahan.
  4. Operasi seperti penyisipan dan penghapusan dalam tatasusunan mengambil banyak masa. Sebaliknya, prestasi operasi dalam senarai Terkait dengan pantas.
  5. Array adalah saiz tetap. Sebaliknya, senarai Berkaitan dinamik dan fleksibel dan boleh mengembangkan dan mengikat saiznya.
  6. Dalam tatasusunan, ingatan diberikan semasa masa penyusunan semasa dalam senarai Terkait ia diperuntukkan semasa pelaksanaan atau runtime.
  7. Unsur-unsur disimpan secara berturut-turut dalam tatasusunan sementara ia disimpan secara rawak dalam senarai Berkaitan.
  8. Keperluan memori kurang disebabkan oleh data sebenar yang disimpan dalam indeks dalam array. Sebaliknya, terdapat keperluan untuk lebih banyak ingatan dalam Senarai Terkait kerana menyimpan tambahan unsur-unsur rujukan seterusnya dan sebelumnya.
  9. Di samping itu penggunaan memori tidak cekap dalam array. Sebaliknya, penggunaan memori adalah cekap dalam array.

Kesimpulannya

Senarai susun atur dan pautan adalah jenis struktur data yang berbeza dalam strukturnya, cara mengakses dan manipulasi, keperluan memori dan penggunaan. Dan mempunyai kelebihan dan kelemahan tertentu terhadap pelaksanaannya. Oleh itu, sama ada seseorang boleh digunakan mengikut keperluan.

Top