|
deque sinfining funksiya – a’zolari
|
bet | 3/10 | Sana | 17.05.2024 | Hajmi | 4,17 Mb. | | #239108 |
Bog'liq amaliy ishdeque sinfining funksiya – a’zolari
deque sinfining modifikatorlari
forward_list sinfi
forward_list sinfining shabloni:
templateclass Allocator = std::allocator
> class forward_list;
forward_list - konteynerdan elementlarni kiritish va olib tashlash mexanizmini ta'minlaydigan sinf. Tez tasodifiy kirish qo'llab-quvvatlanmaydi. U bir yo'naltirilgan ro'yxat sifatida amalga oshiriladi va C tilidagi shunga o'xshash dastur bilan solishtirganda qo'shimcha xotira talab etmaydi: std :: list dan farqli o'laroq, ushbu turdagi konteyner ikki tomonlama iteratsiyani qo'llab-quvvatlamaydi.
forward_list sinfining o’lchamlari va jarayonlari
list sinfi
template< class T,
class Allocator = std::allocator
> class list;
List - bu konteynerning har qanday pozitsiyasidan elementlarni tezda kiritish va olib tashlashni qo'llab-quvvatlaydigan sinf. Tez tasodifiy kirish qo'llab-quvvatlanmaydi. Ikkala bog'langan ro'yxat sifatida amalga oshiriladi. std::forward_list-dan farqli o'laroq, ushbu konteyner ikki tomonlama iteratsiyani ta'minlaydi, shu bilan birga foydalanilgan xotiraga nisbatan unumli emas.
Tajriba ishlarini bajarish uchun namuna:
Vector
1-Masalaning qo’yilishi: Butun sonlar kеtma-kеtligi bеrilgan. Ushbu kеtmakеtlikni undagi mavjud takrorlanuvchi sonlarni olib tashlab qayta tuzing, Agar bitta son ketma-ketlikda ikki yoki undan ko‗p marta uchrasa uni birinchi marta uchraganini olib qolib qolganini o‗chirib tashlash lozim.
Yuqorida qo‗yilgan masalani vector yordamida ishlaymiz
#include
#include
#include
using namespace std;
vector A;
int main()
{
int n, k;
cin >> n;
for (int i = 0; i < n; i ++)
{
cin >> k;
A.push_back(k);
}
for (int i = 0; i < A.size(); i ++)
{
int j = i + 1;
while (j < A.size())
if (A[j] == A[i])
A.erase(A.begin() + j);
else
j ++;
}
for (int i = 0; i < A.size(); i ++)
cout << A[i] << "\n";
}
|
| |