عملیات در آرایه: جستجو، درج و حذف — به زبان ساده
۳۸۳۷ بازدید
آخرین بهروزرسانی: ۱۹ شهریور ۱۴۰۲
زمان مطالعه: ۹ دقیقه
دانلود PDF مقاله
در این مطلب، انواع عملیات در آرایه شامل جستجو، درج و حذف در آرایه نامرتب مورد بررسی قرار گرفته است. همچنین، پیادهسازی این موارد در زبانهای برنامهنویسی گوناگون شامل ++C، «جاوا» (Java)، «پایتون» (Python)، «سیشارپ» (#C) و «پیاچپی» (PHP) انجام شده است.
فهرست مطالب این نوشته
عملیات در آرایه: جستجو در آرایه نامرتب
در یک آرایه نامرتب، عملیات جستجو را میتوان با پیمایش خطی از اولین تا آخرین عنصر انجام داد.
مثال زیر در این راستا قابل توجه است.
جستجو در آرایه نامرتب در ++C
1// C++ program to implement linear
2// search in unsorted array
3#include<bits/stdc++.h>
4using namespace std;
5
6// Function to implement search operation
7int findElement(int arr[], int n,
8 int key)
9{
10 int i;
11 for (i = 0; i < n; i++)
12 if (arr[i] == key)
13 return i;
14
15 return -1;
16}
17
18// Driver Code
19int main()
20{
21 int arr[] = {12, 34, 10, 6, 40};
22 int n = sizeof(arr) / sizeof(arr[0]);
23
24 // Using a last element as search element
25 int key = 40;
26 int position = findElement(arr, n, key);
27
28 if (position == - 1)
29 cout << "Element not found";
30 else
31 cout << "Element Found at Position: "
32 << position + 1;
33
34 return 0;
35}
36
37// This code is contributed
38// by Akanksha Rai
جستجو در آرایه نامرتب در C
1// C program to implement linear
2// search in unsorted array
3#include<stdio.h>
4
5// Function to implement search operation
6int findElement(int arr[], int n,
7 int key)
8{
9 int i;
10 for (i = 0; i < n; i++)
11 if (arr[i] == key)
12 return i;
13
14 return -1;
15}
16
17// Driver Code
18int main()
19{
20 int arr[] = {12, 34, 10, 6, 40};
21 int n = sizeof(arr) / sizeof(arr[0]);
22
23 // Using a last element as search element
24 int key = 40;
25 int position = findElement(arr, n, key);
26
27 if (position == - 1)
28 printf("Element not found");
29 else
30 printf("Element Found at Position: %d", position + 1 );
31
32 return 0;
33}
جستجو در آرایه نامرتب در جاوا
1// Java program to implement linear
2// search in unsorted arrays
3
4class Main
5{
6 // Function to implement
7 // search operation
8 static int findElement(int arr[], int n,
9 int key)
10 {
11 for (int i = 0; i < n; i++)
12 if (arr[i] == key)
13 return i;
14
15 return -1;
16 }
17
18 // Driver Code
19 public static void main(String args[])
20 {
21 int arr[] = {12, 34, 10, 6, 40};
22 int n = arr.length;
23
24 // Using a last element as search element
25 int key = 40;
26 int position = findElement(arr, n, key);
27
28 if (position == - 1)
29 System.out.println("Element not found");
30 else
31 System.out.println("Element Found at Position: "
32 + (position + 1));
33 }
34}
جستجو در آرایه نامرتب در پایتون
1# Python program for searching in
2# unsorted array
3
4def findElement(arr, n, key):
5 for i in range (n):
6 if (arr[i] == key):
7 return i
8 return -1
9
10arr = [12, 34, 10, 6, 40]
11key = 40
12n = len(arr)
13
14#search operation
15index = findElement(arr, n, key)
16if index != -1:
17 print ("element found at position: " + str(index + 1 ))
18else:
19 print ("element not found")
20
21# Thanks to Aditi Sharma for contributing
22# this code
جستجو در آرایه نامرتب در #C
1// C# program to implement linear
2// search in unsorted arrays
3using System;
4
5class main
6{
7 // Function to implement
8 // search operation
9 static int findElement(int []arr, int n,
10 int key)
11 {
12 for (int i = 0; i < n; i++)
13 if (arr[i] == key)
14 return i;
15
16 return -1;
17 }
18
19 // Driver Code
20 public static void Main()
21 {
22 int []arr = {12, 34, 10, 6, 40};
23 int n = arr.Length;
24
25 // Using a last element as
26 // search element
27 int key =40;
28 int position = findElement(arr,n,key);
29
30 if (position == - 1)
31 Console.WriteLine("Element not found");
32 else
33 Console.WriteLine("Element Found at Position: "
34 + (position+1));
35 }
36}
37
38// This code is contributed by vt_m.
جستجو در آرایه نامرتب در PHP
1<?php
2// PHP program to implement linear
3// search in unsorted array
4
5// Function to implement
6// search operation
7function findElement($arr, $n, $key)
8{
9 $i;
10 for ($i = 0; $i < $n; $i++)
11 if ($arr[$i] == $key)
12 return $i;
13
14 return -1;
15}
16
17// Driver Code
18$arr = array(12, 34, 10, 6, 40);
19$n = sizeof($arr);
20
21// Using a last element
22// as search element
23$key = 40;
24$position = findElement($arr, $n, $key);
25
26if ($position == - 1)
27 echo("Element not found");
28else
29 echo("Element Found at Position: " . ($position + 1));
30
31// This code is contributed by Ajit.
32?>
خروجی قطعه کدهای بالا به صورت زیر است:
Element Found at Position: 5
پیچیدگی زمانی جستجو در آرایه نامرتب با استفاده از روشی که پیادهسازی آن در بالا انجام شده، از درجه (O(n است.
عملیات در آرایه: درج در آرایه نامرتب
در یک آرایه نامرتب، عملیات درج (Insert) در مقایسه با یک آرایه مرتب، سریعتر انجام میشود؛
زیرا نیازی به بررسی موقعیتی که عنصر باید در آن قرار بگیرد نیست.
درج در آرایه نامرتب در C
1// C program to implement insert
2// operation in an unsorted array.
3#include<stdio.h>
4
5// Inserts a key in arr[] of given capacity.
6// n is current size of arr[]. This
7// function returns n + 1 if insertion
8// is successful, else n.
9int insertSorted(int arr[], int n,
10 int key,
11 int capacity)
12{
13
14 // Cannot insert more elements if n is
15 // already more than or equal to capcity
16 if (n >= capacity)
17 return n;
18
19 arr[n] = key;
20
21 return (n + 1);
22}
23
24// Driver Code
25int main()
26{
27 int arr[20] = {12, 16, 20, 40, 50, 70};
28 int capacity = sizeof(arr) / sizeof(arr[0]);
29 int n = 6;
30 int i, key = 26;
31
32 printf("\n Before Insertion: ");
33 for (i = 0; i < n; i++)
34 printf("%d ", arr[i]);
35
36 // Inserting key
37 n = insertSorted(arr, n, key, capacity);
38
39 printf("\n After Insertion: ");
40 for (i = 0; i < n; i++)
41 printf("%d ",arr[i]);
42
43 return 0;
44}
درج در آرایه نامرتب در جاوا
1// Java program to implement insert
2// operation in an unsorted array.
3
4class Main
5{
6 // Function to insert a given key in
7 // the array. This function returns n+1
8 // if insertion is successful, else n.
9 static int insertSorted(int arr[], int n,
10 int key,
11 int capacity)
12 {
13
14 // Cannot insert more elements if n
15 // is already more than or equal to
16 // capcity
17 if (n >= capacity)
18 return n;
19
20 arr[n] = key;
21
22 return (n + 1);
23 }
24
25 // Driver Code
26 public static void main (String[] args)
27 {
28 int[] arr = new int[20];
29 arr[0] = 12;
30 arr[1] = 16;
31 arr[2] = 20;
32 arr[3] = 40;
33 arr[4] = 50;
34 arr[5] = 70;
35 int capacity = 20;
36 int n = 6;
37 int i, key = 26;
38
39 System.out.print("Before Insertion: ");
40 for (i = 0; i < n; i++)
41 System.out.print(arr[i]+" ");
42
43 // Inserting key
44 n = insertSorted(arr, n, key, capacity);
45
46 System.out.print("\n After Insertion: ");
47 for (i = 0; i < n; i++)
48 System.out.print(arr[i]+" ");
49 }
50}
درج در آرایه نامرتب در پایتون
1# Python program for inserting
2# an element in an unsorted array
3
4# method to insert element
5def insert(arr, element):
6 arr.append(element)
7
8# declaring array and key to insert
9arr = [12, 16, 20, 40, 50, 70]
10key = 26
11
12# array before inserting an element
13print ("Before Inserting: ")
14print (arr)
15
16# array after Inserting element
17insert(arr, key)
18print("After Inserting: ")
19print (arr)
20
21# Thanks to Aditi Sharma for contributing
22# this code
درج در آرایه نامرتب در #C
1// C# program to implement insert
2// operation in an unsorted array.
3using System;
4
5class main
6{
7
8 // Function to insert a given
9 // key in the array. This
10 // function returns n + 1
11 // if insertion is successful,
12 // else n.
13 static int insertSorted(int []arr, int n,
14 int key,
15 int capacity)
16 {
17
18 // Cannot insert more elements
19 // if n is already more than
20 // or equal to capcity
21 if (n >= capacity)
22 return n;
23
24 arr[n] = key;
25 return (n + 1);
26 }
27
28 // Driver Code
29 public static void Main ()
30 {
31 int[] arr = new int[20];
32 arr[0] = 12;
33 arr[1] = 16;
34 arr[2] = 20;
35 arr[3] = 40;
36 arr[4] = 50;
37 arr[5] = 70;
38 int capacity = 20;
39 int n = 6;
40 int i, key = 26;
41
42 Console.Write("Before Insertion: ");
43 for (i = 0; i < n; i++)
44 Console.Write(arr[i]+" ");
45 Console.WriteLine();
46
47 // Inserting key
48 n = insertSorted(arr, n, key, capacity);
49
50 Console.Write("After Insertion: ");
51 for (i = 0; i < n; i++)
52 Console.Write(arr[i]+" ");
53
54 }
55}
56
57// This code is contributed by vt_m.
درج در آرایه نامرتب در PHP
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
GeeksforGeekshttps://b.fdrs.ir/1o1
بابا دمتون گرم چقد جامع بود