इस ट्यूटोरियल में, हम सीखेंगे कि दो लूप और ऑन लूप वाले एलीमेंट को कैसे डिलीट किया जाए। हमें तत्व को हटाने की आवश्यकता नहीं है। हम हटाए जाने वाले तत्व को अगले तत्वों से बदल देंगे।
दो ट्रैवर्सल
आइए दो छोरों का उपयोग करके सरणी से किसी तत्व को हटाने के चरणों को देखें।
-
ऐरे को इनिशियलाइज़ करें और एलिमेंट को डिलीट करें।
-
तत्व को हटाने के लिए एक फ़ंक्शन लिखें।
-
सरणी पर पुनरावृति करें और तत्व की खोज करें।
-
यदि तत्व मिल जाता है, तो लूप को तोड़ दें।
-
यदि तत्व पाया जाता है, तो सरणी का आकार कम करें।
-
सभी तत्वों को उनके पिछले सूचकांक में ले जाएँ।
-
सरणी का नया आकार लौटाएं।
-
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h>
using namespace std;
int searchAndDeleteElement(int arr[], int n, int k) {
int i;
// searching for the element
for (i = 0; i < n; i++) {
if (arr[i] == k) {
break;
}
}
// if the element is present
if (i < n) {
// moving all the elements to previous index after k
n = n - 1;
for (int j = i; j < n; j++) {
arr[j] = arr[j+1];
}
}
// returning updated index
return n;
}
int main() {
int n = 6, k = 4;
int arr[] = {1, 2, 3, 4, 5, 6};
int updatedLength = searchAndDeleteElement(arr, n, k);
// printing the array
for (int i = 0; i < updatedLength; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
} आउटपुट
यदि आप उपरोक्त प्रोग्राम को निष्पादित करते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
1 2 3 5 6
एक ट्रैवर्सल
आइए एक लूप का उपयोग करके किसी तत्व को ऐरे से हटाने के चरणों को देखें।
-
ऐरे को इनिशियलाइज़ करें और एलिमेंट को डिलीट करें।
-
तत्व को हटाने के लिए एक फ़ंक्शन लिखें।
-
सरणी पर पुनरावृति करें और तत्व की खोज करें।
-
यदि तत्व पाया जाता है, तो कथन को छोड़ दें।
-
सभी तत्वों को उनके पिछले सूचकांक में ले जाएँ।
-
यदि तत्व पाया जाता है, तो n - 1 लौटाएं और n लौटाएं।
-
उदाहरण
आइए कोड देखें।
#include <bits/stdc++.h>
using namespace std;
int searchAndDeleteElement(int arr[], int n, int k) {
// checking for the last element
if (arr[n-1] == k) {
return n - 1;
}
bool isElementFound = false;
for (int i = 0; i < n; i++) {
// checking for k
if (arr[i] == k && !isElementFound) {
isElementFound = true;
continue;
}
// if the element is already found move all the element to their previous indexes
if (isElementFound) {
arr[i-1] = arr[i];
}
}
// returning updated n
if (isElementFound) {
return n - 1;
}
return n;
}
int main() {
int n = 6, k = 4;
int arr[] = {1, 2, 3, 4, 5, 6};
int updatedLength = searchAndDeleteElement(arr, n, k);
// printing the array
for (int i = 0; i < updatedLength; i++) {
cout << arr[i] << " ";
}
cout << endl;
return 0;
} आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम प्राप्त होंगे।
1 2 3 5 6
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।