Πίνακας στη δομή δεδομένων: Τι είναι, Πίνακες Operations [Παραδείγματα]
Τι είναι το Array στη Δομή Δεδομένων;
An παράταξη είναι μια δομή δεδομένων για την αποθήκευση περισσότερων του ενός στοιχείων δεδομένων που έχουν παρόμοιο τύπο δεδομένων. Τα στοιχεία ενός πίνακα εκχωρούνται σε γειτονικές θέσεις μνήμης. Αυτές οι θέσεις μνήμης καλούνται στοιχεία αυτής της συστοιχίας. Ο συνολικός αριθμός των στοιχείων σε έναν πίνακα ονομάζεται μήκος.
Οι λεπτομέρειες ενός πίνακα είναι προσβάσιμες σχετικά με τη θέση του. Αυτή η αναφορά ονομάζεται ευρετήριο or υπογεγραμμένος.
Έννοια του πίνακα

Το παραπάνω διάγραμμα δείχνει ότι:
- Ένας πίνακας είναι ένα δοχείο στοιχείων.
- Τα στοιχεία έχουν συγκεκριμένη τιμή και τύπο δεδομένων, όπως "ABC", TRUE ή FALSE κ.λπ.
- Κάθε στοιχείο έχει επίσης το δικό του ευρετήριο, το οποίο χρησιμοποιείται για την πρόσβαση στο στοιχείο.
Σημείωση:
- Τα στοιχεία αποθηκεύονται σε συνεχόμενες θέσεις μνήμης.
- Ένας δείκτης είναι πάντα μικρότερος από τον συνολικό αριθμό των στοιχείων του πίνακα.
- Όσον αφορά τη σύνταξη, κάθε μεταβλητή που δηλώνεται ως πίνακας μπορεί να αποθηκεύσει πολλές τιμές.
- Σχεδόν όλες οι γλώσσες έχουν την ίδια κατανόηση των πινάκων αλλά έχουν διαφορετικούς τρόπους δήλωσης και αρχικοποίησης τους.
- Ωστόσο, τρία μέρη θα παραμένουν πάντα κοινά σε όλες τις αρχικοποιήσεις, δηλαδή το όνομα πίνακα, τα στοιχεία και ο τύπος δεδομένων των στοιχείων.
Το παρακάτω διάγραμμα απεικονίζει τη σύνταξη της δήλωσης an συστοιχία μέσα Python C++ για να παρουσιάσετε ότι η κατανόηση παραμένει η ίδια αν και η σύνταξη μπορεί να διαφέρει ελαφρώς σε διαφορετικές γλώσσες.
- Όνομα πίνακα: απαραίτητο για εύκολη αναφορά στη συλλογή στοιχείων
- Τύπος δεδομένων: απαραίτητο για τον έλεγχο τύπου και την ακεραιότητα των δεδομένων
- Στοιχεία: Αυτές είναι οι τιμές δεδομένων που υπάρχουν σε έναν πίνακα
Γιατί χρειαζόμαστε πίνακες;
Ακολουθούν ορισμένοι λόγοι για τη χρήση πινάκων στη δομή δεδομένων:
- Οι πίνακες είναι οι καλύτεροι για την αποθήκευση πολλαπλών τιμών σε μία μόνο μεταβλητή
- Οι πίνακες είναι καλύτεροι στην επεξεργασία πολλών τιμών εύκολα και γρήγορα
- Η ταξινόμηση και η αναζήτηση των τιμών είναι ευκολότερη σε πίνακες
Δημιουργία πίνακα σε Python
In Python, οι πίνακες διαφέρουν από τις λίστες. Οι λίστες μπορούν να έχουν στοιχεία πίνακα τύπων δεδομένων, ενώ οι πίνακες μπορούν να έχουν μόνο στοιχεία του ίδιου τύπου δεδομένων.
Python έχει μια ξεχωριστή μονάδα για το χειρισμό πινάκων που ονομάζεται πίνακας, την οποία πρέπει να εισαγάγετε πριν ξεκινήσετε να εργάζεστε σε αυτούς.
Σημείωση: Ο πίνακας πρέπει να περιέχει πραγματικούς αριθμούς όπως ακέραιους αριθμούς και πλωτήρες, χωρίς να επιτρέπονται συμβολοσειρές.
Ο παρακάτω κώδικας δείχνει πώς μπορείτε να δημιουργήσετε έναν ακέραιο πίνακα στην python για να αποθηκεύσετε το υπόλοιπο του λογαριασμού:
import array
balance = array.array('i', [300,200,100])
print(balance)
Τρόποι για να δηλώσετε έναν πίνακα μέσα Python
Μπορείτε να δηλώσετε έναν πίνακα μέσα Python ενώ το αρχικοποιείτε χρησιμοποιώντας την ακόλουθη σύνταξη.
arrayName = array.array(type code for data type, [array,items])
Η παρακάτω εικόνα εξηγεί τη σύνταξη.
- Αναγνωριστικό: καθορίστε ένα όνομα όπως συνήθως, που κάνετε για τις μεταβλητές
- Μονάδα μέτρησης: Python έχει μια ειδική μονάδα για τη δημιουργία πινάκων, που ονομάζεται "πίνακας" - πρέπει να την εισαγάγετε πριν τη χρησιμοποιήσετε
- Μέθοδος: η μονάδα πίνακα έχει μια μέθοδο για την προετοιμασία του πίνακα. Χρειάζεται δύο ορίσματα, κωδικός τύπου και στοιχεία.
- Πληκτρολογήστε τον κωδικό: καθορίστε τον τύπο δεδομένων χρησιμοποιώντας τους διαθέσιμους κωδικούς τύπου (δείτε τη λίστα παρακάτω)
- Στοιχεία: καθορίστε τα στοιχεία του πίνακα μέσα στις αγκύλες, για παράδειγμα [130,450,103]
Ο παρακάτω πίνακας απεικονίζει τους κωδικούς τύπων που είναι διαθέσιμοι για τους υποστηριζόμενους τύπους δεδομένων:
| Πληκτρολογήστε τον κωδικό | C Τύπος | Python Χαρακτηριστικά | Ελάχιστο μέγεθος σε byte |
|---|---|---|---|
| 'ντο' | δεξαμενή | χαρακτήρας | 1 |
| 'ΣΙ' | χωρίς υπογραφή char | int | 1 |
| 'σι' | υπογεγραμμένο char | int | 1 |
| "εσύ" | Py_UNICODE | Χαρακτήρας Unicode | 2 |
| 'h' | υπογεγραμμένος σύντομος | int | 2 |
| «Η» | χωρίς υπογραφή σύντομο | int | 2 |
| 'Εγώ' | υπογεγραμμένο ενθ | int | 2 |
| 'ΕΓΩ' | χωρίς υπογραφή int | μακρύς | 2 |
| 'μεγάλο' | υπογεγραμμένο μακρύ | int | 4 |
| 'ΜΕΓΑΛΟ' | χωρίς υπογραφή πολύ | μακρύς | 4 |
| 'φά' | φλοτέρ | φλοτέρ | 4 |
| 'ρε' | διπλασιαστεί | φλοτέρ | 8 |
Πώς να αποκτήσετε πρόσβαση σε μια συγκεκριμένη τιμή πίνακα;
Μπορείτε να αποκτήσετε πρόσβαση σε οποιοδήποτε στοιχείο πίνακα χρησιμοποιώντας το ευρετήριό του.
Σύνταξη
arrayName[indexNum]
Παράδειγμα:
balance[1]
Η ακόλουθη εικόνα απεικονίζει τη βασική ιδέα της πρόσβασης σε στοιχεία πινάκων με βάση το ευρετήριό τους.
Εδώ, έχουμε πρόσβαση στη δεύτερη τιμή του πίνακα χρησιμοποιώντας τον δείκτη του, που είναι 1. Η έξοδος αυτού θα είναι 200, που είναι βασικά η δεύτερη τιμή του ισορροπημένου πίνακα.
import array
balance = array.array('i', [300,200,100])
print(balance[1])
ΠΑΡΑΓΩΓΉ
200
Παράταξη Operaσεις
Η μονάδα πίνακα του Python έχει ξεχωριστές λειτουργίες για την εκτέλεση λειτουργιών πίνακα. Αυτή είναι μια καταστροφική μέθοδος λειτουργίας με πίνακες, που σημαίνει ότι η τροποποίηση θα αποθηκευτεί στη μεταβλητή πίνακα.
Κύριο θέμα
Με αυτήν τη λειτουργία, μπορείτε να εισαγάγετε ένα ή περισσότερα στοιχεία σε έναν πίνακα στην αρχή, στο τέλος ή σε οποιοδήποτε δεδομένο ευρετήριο του πίνακα. Αυτή η μέθοδος αναμένει δύο ορίσματα δείκτη και τιμή.
Σύνταξη
arrayName.insert(index, value)
Παράδειγμα:
Ας προσθέσουμε μια νέα τιμή αμέσως μετά το δεύτερο στοιχείο του πίνακα. Επί του παρόντος, ο πίνακας υπολοίπου μας έχει τρία στοιχεία 300, 200 και 100. Ποιος είναι λοιπόν ο δείκτης του δεύτερου στοιχείου του πίνακα με τιμή 200 αν είπατε 1.
Για να εισαγάγετε τη νέα τιμή δεξιά «μετά» τον δείκτη 1, πρέπει να αναφέρετε το δείκτη 2 στη μέθοδο εισαγωγής, ως εξής:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
Τώρα, για να επαληθεύσετε εάν έχει εισαχθεί η νέα τιμή, εισαγάγετε το όνομα του πίνακα και πατήστε Enter στο πληκτρολόγιο:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
ΠΑΡΑΓΩΓΉ
array('i', [300,200,150,100])
Διαγραφή
Με αυτήν τη λειτουργία, μπορείτε να διαγράψετε ένα στοιχείο από έναν πίνακα ανά τιμή. Αυτή η μέθοδος δέχεται μόνο ένα όρισμα, την τιμή. Μετά την εκτέλεση αυτής της μεθόδου, τα στοιχεία του πίνακα αναδιατάσσονται και οι δείκτες εκχωρούνται εκ νέου.
Σύνταξη
arrayName.remove(value)
Παράδειγμα:
Ας αφαιρέσουμε την τιμή του 150 από τον πίνακα. Επί του παρόντος, ο πίνακας υπολοίπου μας έχει τέσσερα στοιχεία 300, 200, 150 και 100. Έτσι, για να αφαιρέσουμε το 150 από τον πίνακα, πρέπει μόνο να πληκτρολογήσουμε 150 μέσα στο όρισμα της μεθόδου. Απλό, σωστά;
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
Τώρα, για να επαληθεύσετε εάν η τιμή έχει διαγραφεί, εισαγάγετε το όνομα του πίνακα και πατήστε Enter στο πληκτρολόγιο:
import array
balance = array.array('i', [300,200,100])
balance.insert(2, 150)
print(balance)
balance.remove(150)
print(balance)
ΠΑΡΑΓΩΓΉ
array('i', [300,200,100])
ΑΝΑΖΗΤΗΣΗ
Με αυτήν τη λειτουργία, μπορείτε να αναζητήσετε ένα στοιχείο σε έναν πίνακα με βάση την τιμή του. Αυτή η μέθοδος δέχεται μόνο ένα όρισμα, την τιμή. Αυτή είναι μια μη καταστροφική μέθοδος, που σημαίνει ότι δεν επηρεάζει τις τιμές του πίνακα.
Σύνταξη
arrayName.index(value)
Παράδειγμα:
Ας αναζητήσουμε την τιμή του 150 στον πίνακα. Επί του παρόντος, ο πίνακας υπολοίπου μας έχει τέσσερα στοιχεία 300, 200, 150 και 100. Έτσι, για να αναζητήσουμε το 150 στον πίνακα, πρέπει μόνο να πληκτρολογήσουμε 150 μέσα στο όρισμα της μεθόδου. Αυτό είναι αρκετά εύκολο. Αυτή η μέθοδος επιστρέφει το ευρετήριο της τιμής που αναζητήθηκε.
import array
balance = array.array('i', [300,200,150,100])
print(balance.index(150))
ΠΑΡΑΓΩΓΉ
2
ΕΚΣΥΓΧΡΟΝΊΖΩ
Αυτή η λειτουργία είναι αρκετά παρόμοια με τη μέθοδο εισαγωγής, με τη διαφορά ότι θα αντικαταστήσει την υπάρχουσα τιμή στο δεδομένο ευρετήριο. Αυτό σημαίνει απλώς ότι θα εκχωρήσει μια νέα τιμή στο δεδομένο ευρετήριο. Αυτή η μέθοδος αναμένει δύο ορίσματα δείκτη και τιμή.
Σύνταξη
arrayName.udpate(index, value)
Παράδειγμα:
Ας υποθέσουμε ότι ο πίνακας μας έχει τέσσερα στοιχεία 300, 200, 150 και 100 και θέλουμε να αντικαταστήσουμε το 150 με το 145. Ποιος είναι λοιπόν ο δείκτης 150;
Συγχαρητήρια, αν είπες 2.
Για να αντικαταστήσετε το 150 που έχει ευρετήριο 2, πρέπει να αναφέρετε το ευρετήριο 2 χρησιμοποιώντας απλό τελεστή εκχώρησης, όπως αυτός:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
Τώρα, για να επαληθεύσετε εάν η τιμή έχει ενημερωθεί, εισαγάγετε το όνομα του πίνακα και πατήστε Enter στο πληκτρολόγιο:
import array
balance = array.array('i', [300,200,150,100])
balance[2] = 145
print(balance)
ΠΑΡΑΓΩΓΉ
array('i', [300,200,145,100])
Τραβήξτε
Μπορείτε να διασχίσετε έναν πίνακα python χρησιμοποιώντας βρόχους, όπως αυτός:
import array
balance = array.array('i', [300,200,100])
for x in balance:
print(x)
ΠΑΡΑΓΩΓΉ
300 200 100
Δημιουργία πίνακα σε C++
C++ Γλώσσα είναι πιο ευέλικτο από Python όταν πρόκειται για τη δημιουργία πινάκων. Μπορείτε να δημιουργήσετε C++ συστοιχίες με τρεις τρόπους που αναφέρθηκαν προηγουμένως.
Ο παρακάτω κώδικας δείχνει πώς μπορείτε να δημιουργήσετε έναν ακέραιο πίνακα C++ για να αποθηκεύσετε το υπόλοιπο του λογαριασμού:
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
for (int i = 0; i < 3; i++)
{
cout << "value of i: " << balance[i] << endl;
}
return 0;
}
Τρόποι για να δηλώσετε έναν πίνακα μέσα C++
Μπορείτε να δηλώσετε έναν πίνακα σε τρεις παραλλαγές σύνταξης. Ποιο ταιριάζει στο πρόγραμμά σας; αυτή η επιλογή βασίζεται στις απαιτήσεις του προγράμματός σας.
Δήλωση ανά μέγεθος
Σύνταξη
dataType arrayName[arraySize];
Παράδειγμα:
int balance[3];
Μόνο στοιχεία πίνακα εκκίνησης δήλωσης
Σύνταξη
dataType arrayName[] = {array, items};
Παράδειγμα:
int balance[] = { 300, 200, 100 };
Δήλωση ανά μέγεθος και αρχικοποίηση στοιχείων πίνακα
Σύνταξη
dataType arrayName[arraySize] = {array, items};
Παράδειγμα:
int balance[3] = { 300, 200, 100 };
Πώς να αποκτήσετε πρόσβαση σε μια συγκεκριμένη τιμή πίνακα;
Μπορείτε να αποκτήσετε πρόσβαση σε οποιοδήποτε στοιχείο πίνακα χρησιμοποιώντας το ευρετήριό του.
Σύνταξη
arrayName[indexNum]
Παράδειγμα:
balance[1]
Η ακόλουθη εικόνα απεικονίζει τη βασική ιδέα της πρόσβασης σε στοιχεία πινάκων με βάση το ευρετήριό τους.
Εδώ, έχουμε πρόσβαση στη δεύτερη τιμή του πίνακα χρησιμοποιώντας τον δείκτη του, που είναι 1. Η έξοδος αυτού θα είναι 200, που είναι βασικά η δεύτερη τιμή του πίνακα ισορροπίας.
#include <iostream>
using namespace std;
int main()
{
int balance[3] = { 300, 200, 100 };
cout << balance[1];
return 0;
}
Παραγωγή
200
Παράταξη Operaθέσεις σε C++
Σε αντίθεση με Pythonσε C++ πρέπει να προγραμματίσετε μόνοι σας τη λογική για την εκτέλεση των λειτουργιών εισαγωγής, διαγραφής, ενημέρωσης αναζήτησης και διέλευσης C++ συστοιχίες.
Κύριο θέμα
Η λογική για τη λειτουργία εισαγωγής έχει ως εξής:
- βρόχο μέσα από τα στοιχεία του πίνακα
- μετατοπίστε τα σε μεγαλύτερο δείκτη
- προσθέστε ένα νέο στοιχείο πίνακα σε ένα δεδομένο ευρετήριο
Στο παρακάτω παράδειγμα, έχουμε 5 στοιχεία στον πίνακα υπολοίπου και θέλουμε να προσθέσουμε ένα νέο στοιχείο αμέσως μετά την τιμή 200. Αυτό σημαίνει ότι πρέπει να μετατοπίσουμε όλα τα στοιχεία μετά το 200 σε μεγαλύτερο ευρετήριο και, στη συνέχεια, να εισαγάγουμε το νέο μας αξία 150.
#include <iostream>
#include <stdio.h>
main() {
int pos = 2;
int size = 4;
int balance[] = {300,200,100,50,0};
printf("BEFORE INCREMENT: \n");
for(int i = 0; i<5; i++) {
printf("%d\n",balance[i]);
}
/* FOR SHIFTING ITEMS TO A GREATER INDEX */
for(int i = size; i >= pos; i--) {
balance[i+1]=balance[i];
}
/* FOR INSERTING VALUE AT OUR DESIRED INDEX */
balance[pos] = 150;
printf("AFTER INCREMENT: \n");
/* FOR PRINTING THE NEW ARRAY */
for(int i = 0; i<6; i++) {
printf("%d\n",balance[i]);
}
}
Παραγωγή
BEFORE INCREMENT 300 200 100 50 0 AFTERINCREMENT 300 200 150 100 50 0
Παράταξη Operaθέσεις σε Java
Ας δημιουργήσουμε έναν προγραμματισμό στο Java, Σε αυτό πρόγραμμα συστοιχίας σε Java θα δεχθούμε το μέγεθος και την τιμή των στοιχείων του πίνακα από τον χρήστη.
import java.util.Scanner;
public class AddElements {
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
System.out.println("Enter the size of the array");
int n=sc.nextInt();
int arr[]=new int[n];
System.out.println("Enter Elements in the array");
for(int i=0;i<n;i++)
{
arr[i]=sc.nextInt();
}
System.out.println("Elements in the array");
for(int j=0;j<n;j++)
{
System.out.print(arr[j]+" ");
}
}
}
Παραγωγή:-
Enter the size of the array 5 Enter Elements in the array 1 2 3 4 5 Elements in the array 1 2 3 4 5
Τροποποίηση στοιχείου στον πίνακα:-
Ενημερώστε ένα στοιχείο από το δεδομένο ευρετήριο.
Πρόγραμμα στο Java για τον τρόπο τροποποίησης στοιχείων σε έναν πίνακα
import java.util.Scanner;
public class ModifyElement {
public static void main(String[] args) {
int arr[]={1,2,3,4,5};
int length= arr.length;
Scanner sc=new Scanner(System.in);
System.out.println("Array Elements Before modify");
for(int i=0;i<length;i++)
{
System.out.print(arr[i]+" ");
}
System.out.println("\nEnter the position where you want to change in an array");
int pos=sc.nextInt();
System.out.println("Enter the value");
int val=sc.nextInt();
arr[pos]=val;
System.out.println("Array Elements After modify");
for(int j=0;j<length;j++)
{
System.out.print(arr[j]+" ");
}
}
}
Παραγωγή:-
Array Elements Before modify 1 2 3 4 5 Enter the position where you want to change in an array 2 Enter the value 8 Array Elements After modify 1 2 8 4 5
Στοιχείο πρόσβασης στον πίνακα:-
Εκτύπωση όλων των στοιχείων πίνακα.
Πρόγραμμα στο Java για τον τρόπο διέλευσης σε πίνακα
public class AccessElements {
public static void main(String[] args) {
int arr[]={1,2,3,4,5};
int length= arr.length;
System.out.println("Array Elements are:-");
for(int i=0;i<length;i++)
{
System.out.print(arr[i]+" ");
}
}
}
Παραγωγή:-
Array Elements are:- 1 2 3 4 5
Περίληψη
- Ένας πίνακας είναι μια δομή δεδομένων για την αποθήκευση πολλαπλών στοιχείων δεδομένων που έχουν παρόμοιο τύπο δεδομένων
- Αναγνωριστικό, τύπος δεδομένων, μήκος πίνακα, στοιχεία και ευρετήριο είναι τα κύρια μέρη ενός πίνακα
- Χρησιμοποιήστε το ευρετήριο για την επεξεργασία των τιμών των στοιχείων πίνακα
- Οι πίνακες έχουν εξαιρετική υποστήριξη για να διατηρούν ανέπαφο τον τύπο δεδομένων
- Στις περισσότερες γλώσσες, ένας πίνακας δημιουργείται καθορίζοντας ένα αναγνωριστικό, τύπο δεδομένων και στοιχεία που θα συμπεριληφθούν
- Οι πίνακες είναι οι καλύτεροι για την επεξεργασία μεγάλου αριθμού τιμών και για γρήγορη ταξινόμηση και αναζήτηση
- Python έχει ενότητες και ενσωματωμένες μεθόδους για την εκτέλεση βασικών λειτουργιών πίνακα όπως εισαγωγή, διαγραφή, αναζήτηση, ενημέρωση και διέλευση
- C++ χρειάζεται καθορισμό προγραμμάτων για βασικές λειτουργίες πίνακα όπως εισαγωγή, διαγραφή, ενημέρωση αναζήτησης και διέλευση
