Tegishli tuzilmalar
Birodarlarning uyma-uy joylashish tartibi yig'ish xususiyati bilan belgilanmaganligi sababli, bitta tugunning ikkita bolasi erkin shaklda o'zgarishi mumkin, agar bu shakl shaklini buzmasa (bilan taqqoslang treap). Shunga qaramay, shuni e'tiborga olingki, massivga asoslangan umumiy uyumda bolalarni oddiygina almashtirish, shuningdek, to'plash xususiyatini saqlab qolish uchun bolalarning pastki daraxt tugunlarini ko'chirishni talab qilishi mumkin.
Ikkilik birikma bu alohida holat d-ari uyum unda d = 2.
#include
void main()
{
Cout << “\n Salom, Dunyo! \n”;
}
Bu dastur ekranga Salom, Dunyo! Jumlasini chiqaradi. Biz bu yerda Salom, Dunyo!kodini kirgizdik.Bu kodni endi o’rganayotganlar sinab ko’rish uchun kirgi- shadi.Bu soda kod.Bundan ham uzun va qiyin kodlar bor.Masalan yana bir soddaroq kodni kiritamiz:
// ism va yoshni kiritish
int main()
{
cout << "Iltimos ismingiz va yoshingizni kiriting\n";
string first_name = "???";// string turidagi o’zgaruvchi
41
// ("???" ism kiritilmaganligini bildiradi")
int age = –1; // int turidagi o'zgaruvchi (–1
“yosh aniqlanmaganligini bildiradi”)
cin >> first_name >> age; // satr undan so’ng butun
sonni o’qiymiz
cout << "Hello, " << first_name << " (age " << age <<
")\n";
}
Endi 22 Carlos satrini kiritish quyidagi natijaga olib keladi:
Hello, 22 (age –1)
int main()
{
cout << "Iltimos ism, familiyangizni kiriting\n";
string first;
string second;
cin >> first >> second; // ikkita satr o’qib olamiz
cout << "Hello, " << first << ' ' << second << '\n';
42
}
1
2
3
4
|
size_t xesh ( const identifikator & id )
{
size_t ( id. nomi ( ) [ 0 ] ni qaytarish ) ; }
|
|
|
To'qnashuvlar sonini hisoblash uchun HashTable sinfiga quyidagi usulni kiritishingiz mumkin:
// stack::push/pop
#include
#include
using namespace std;
int main ()//?????
{
stack mystack;//???
for (int i=0; i<5; ++i) mystack.push(i);//???
cout << "Popping out elements...";//???
while (!mystack.empty())//???
{
cout << " " << mystack.top();//???
mystack.pop();//???
}
cout << endl;//???
return 0;
}
// queue::front
#include
#include
using namespace std;
int main ()
{
queue myqueue;
myqueue.push(12);
myqueue.push(75); // this is now the back
myqueue.back() -= myqueue.front();
cout << "myqueue.back() is now " << myqueue.back() << endl;
return 0;
}
#include
#include
using namespace std;
int main(){
listl1;
int n,x,i;
cin>>n;
for (i=1; i<=n; i++) {
cin >>x;
l1.push_back(x);
}
list::iterator it;
for (it=l1.begin(); it!=l1.end(); it++)
cout <<*it<<" ";
}
// queue::push/pop
#include
#include //??
using namespace std;
int main ()
{
queue myqueue;//??
int myint;//??
cout << "Bir nechta son kiriting(oxirida 0 ni kiriting):\n";
do {
cin >> myint;
myqueue.push (myint);
} while (myint);
cout << "myqueuening tarkibi: ";
while (!myqueue.empty())
{
cout << " " << myqueue.front();
myqueue.pop();
}
return 0;
}
#include
#include
#include
using namespace std;
int main()
{
list mylist;
list ::iterator it;
int i;
for ( int i=1; i<= 5; i++); mylist.push_back(i);
it = mylist.begin();
++it;
mylist.insert(it,10);
mylist.insert(it,2,20);
--it;
vectormyvector(2,30);
mylist.insert(it,myvector.begin(),myvector.end());
cout << "mylist tarkibi " ;
for ( it=mylist.begin(); it!=mylist.end(); it++)
cout<< " " << *it;
cout << endl;
return 0;
}
Adabiyotlaer.
^ a b Kormen, Tomas H.; Leyzerson, Charlz E.; Rivest, Ronald L.; Shteyn, Klifford (2009) [1990]. Algoritmlarga kirish (3-nashr). MIT Press va McGraw-Hill. ISBN 0-262-03384-4.
^ Uilyams, J. W. J. (1964), "232-algoritm - Heapsort", ACM aloqalari, 7 (6): 347–348, doi:10.1145/512274.512284
^ eEL, CSA_Dept, IISc, Bangalor, "Ikkilik uyumlar", Ma'lumotlar tuzilmalari va algoritmlari
^ Porter, Tomas; Simon, Istvan (1975 yil sentyabr). "Birinchi navbatning tuzilishiga tasodifiy kiritish". Dasturiy injiniring bo'yicha IEEE operatsiyalari. SE-1 (3): 292–298. doi:10.1109 / TSE.1975.6312854. ISSN 1939-3520. S2CID 18907513.
Do'stlaringiz bilan baham: |