দুই ট্রভার্সাল
প্রথমে মূল অ্যারে এবং খুঁজে বের করে ডিলিট করার জন্য এলিমেন্ট সংজ্ঞায়িত করা হয়।
int ele = 5;
int arr[] = {1,2,3,4};
এখন অ্যারেতে লুপ চালিয়ে দেওয়া এলিমেন্টটি খুঁজে বের করা হয়।
for (i=0; i<length; i++)
if (arr[i] == ele) break;
যদি এলিমেন্টের পজিশন পাওয়া যায় তবে ডান পাশের এলিমেন্টগুলো বাম দিকে শিফট করা হয়।
if (i < length) {
length--;
for (int j=i; j<length; j++)
arr[j] = arr[j+1];
}
উদাহরণ
#include <iostream>
using namespace std;
int main() {
int arr[] = {11, 15, 6, 8, 9, 10};
int length = sizeof(arr)/sizeof(arr[0]);
int ele = 6;
int i;
for (i=0; i<length; i++)
if (arr[i] == ele) break;
if (i < length) {
length--;
for (int j=i; j<length; j++)
arr[j] = arr[j+1];
}
cout << "The array after deletion is " << endl;
for (int i=0; i<length; i++)
cout << arr[i] << " ";
return 0;
}
আউটপুট
The array after deletion is 11 15 8 9 10
এক ট্রভার্সাল
প্রথমে মূল অ্যারে এবং খুঁজে বের করে ডিলিট করার জন্য এলিমেন্ট সংজ্ঞায়িত করা হয়।
int ele = 15;
int arr[] = {11,15,6,8,9,10};
দুই ভেরিয়েবল ডিক্লেয়ার করা হয়: বুলিয়ান found যা নির্দেশ করে এলিমেন্ট পাওয়া গেছে কিনা এবং ইন্টিজার pos যা পাওয়া গেলে পজিশন স্টোর করে।
bool found = false; int pos = -1;
এখন অ্যারে সার্চ করা হয় এবং যদি এলিমেন্ট পাওয়া যায় তবে এর পজিশন স্টোর করে এবং একই লুপে এলিমেন্টগুলো শিফট করা হয়।
for (int i=0; i<length; i++) {
if(pos != -1) {
arr[pos] = arr[pos+1];
pos++;
}
else if(arr[i] == ele) {
pos = i;
found = true;
}
}
উদাহরণ
#include <iostream>
using namespace std;
int main() {
int arr[] = {11, 15, 6, 8, 9, 10};
int length = sizeof(arr)/sizeof(arr[0]);
int ele = 6;
bool found = false;
int pos = -1;
for (int i=0; i<length; i++) {
if(pos != -1) {
arr[pos] = arr[pos+1];
pos++;
}
else if(arr[i] == ele) {
pos = i;
found = true;
}
}
cout << "The array after deletion is " << endl;
if(found) {
length--;
}
for (int i=0; i<length; i++)
cout << arr[i] << " ";
return 0;
}
আউটপুট
The array after deletion is 11 15 8 9 10