Data structures in c++ - Pdf 10


1
2 3
4

سا

ا 5

تا آه إ  6

تا آه ا 8

تا آه عاأ 8

سا)Stack( 8

         
             
       ,       
     .
         
           
            
 .

             
            
            
             
          .
            .
 

6
ا آه إ ت
عوا  فا إ  ء   ةاا   ا ه و ا
ا  ةو    ا ا ه  ث نأ  ا تاو  
 ةا إو   ا .
  ا ءا و تا ه ا ا   آ هDATA
تا وINFORMATION ا   سأ ه  .

  ا اه    .
ا آا / ا ا  ا طوأ  تا  آ  هو
يأ  وأ ة  ا صا  تا ن  ا صاو
 .

و تا آه ا   تا و تا آا/  ةرت  تزراو
     ا     

 

  

7  و و   ةآاا ا لا و ا م  م و م
ا زراا    إو   تا ه  .
  و/ تا ص و ا  ه ا  ا  ا ةآ ه تا
ةآاا  ً ًهو  ً ا تا      
ًوُاد َ يد او    او.
• تا آه ا
 فا و تا ز  اإ و  اةآاا    .
 او ءا   و  ا ء.
  ا عاأا اا آ  ة ق .
 ةآاا  تا عاو ا ز را.

• عاأتا آه
آ  ت آه)STATIC INFORMATION.(
 ي   ا و تاو لوااو تآه   تا
ا دا  ق

ةا او ء أ ج وا ا سا    أ  لآو
ًوأ ج ن او ا   افاو  او   و top.
ةءااوأ   ا يإ او ف   top.
• سا ا و
 دإ ا ا 
 اا ءا ت م
 زو ا او ضاا ت 
 ا اا ءا

ولا  ا نأ ي  سا إ  او   TOP

ن ُر سا ن TOP=-1 و لدإ لوأ    
++ TOP نأ إ او را  ا ن  دأ  آو
سا  .
وجاأ سا  ا  او را ا  أ إ نأ ا   =-1
وأ NULLاآُر سا ن .
• و سا  ق  و ةآاا  :
    سا  ا اا ايإ    .
 صاا ا)COMPACT ( ةآاا  يإ    دأ.
لآو    ت سا إ ا ا


void push(int a[],int k){
if(top==sise-1)cout<<" FULL STACK";
else
a[++top]=k;
}
int pop(){
if(top<0)cout<<"EMPTE STACK";
else
return a[top ];
} Top و م  هو سا ذ
 و إ لا لاوا 
سا  تا جاأ اد
ن   سا نأ 
يأ ا top = 
ا -1
 إو و ا ا 
ا ا ا ا ا
 ن يا
top

 ًر أ سا نأ 
ا  نtop = -1 ا يأ
ا 
ا اد  ا ج إو

a[++top]=k;
}
int pop(){int i,max=a[top ];
for (;;)
{if(top<0)break;
else
if(max<a[top])max=a[top];top ;}
return max;
}
انأ   و و او لا يإ ه فا   نإ  با نآ ا ا 
ااا و اه ا د سا  ا  و ا اد ا با  ا
ز    آا
for(;;) أ    ا ط   BREAK.

سا ت وأ  ساا  Prefix and Postfix درو  ماا نو
سا.
3)

#include<iostream.h>
#include<conio.h>
#include<stdlib.h>
void check(char[]);
main(){clrscr();char s[100];
cin>>s;check(s);
getch();}
void check(char s[]){char c;int i,x,y;x=y=0;
for (i=0;(c=s[i])!='\0';i++){
if(c=='('||c=='[')x++;
else
ن  با  top <0

#include<iostream.h>
#include<conio.h>
#include<string.h>
#define size 10
struct stack
{int top;
char a[size];}s;

void push(struct stack*);
void pop(struct stack*);
int full(struct stack*);
int empty(struct stack*);

void main()
{clrscr();
s.top=-1;int i;
char x[size];
cout<<"enter your string"<<endl;
cin>>x;
for (i=0;x[i]!='\0';i++)
{ if (x[i]=='(')
{
if (!full(&s))
push(&s);
}

else if(x[i]==')')
{
if (!empty(&s))
pop(&s);

else
return 0;}

إ نأ  ا  هذ   او سا ة ,نأ اذإ   نإ ت  إ سا
آو ُ  ن ذ  سا و إ  ا  م ل و سا 
    ُ  ا اا
ه هأ و لو  ةا
 ونأ  ةا  إ نذإ ا ا و    ءو
5)

#include<iostream.h>
#include<conio.h>
int size=10;
int a[10],top=-1;
int pop();
void r(int[]);
void push(int[],int);
main(){clrscr();int i,k;
for(i=0;i<size;i++){cin>>k;push(a,k);}
r(a);
for(i=0;i<size;i++)cout<<pop()<<" ";
getch();}
void push(int a[],int k){
if(top==size-1)cout<<" FULL STACK";
else
a[++top]=k;
}
int pop(){return a[top ];}

13

}
int pop(){static int max=a[top ];
if(top<0)return max;
else
{if(max<a[top])max=a[top];top ;pop();}
}
ف   دا اهويإ؟ سا  
7)

#include<iostream.h>
#include<conio.h>
int size=10;
int a[10],top=-1;
int pop();
void del_pop(int[],int);
void push(int[],int);
main(){clrscr();int i,k;
for(i=0;i<size;i++){cin>>k;push(a,k);}
cout<<"ENTER NUMBER DELETING\n";
cin>>i;del_pop(a,i);
getch();}
 ا   ه ا اه و
 ج  نأ ما   ةآاا
ا و ت تاا ن ةآاا
14

15  اا ً)Queues (وأا ت  ر
ةر هو ا تا آه  عو قر    تا  سا
  نأ ه اإو تا لد ا ا FIFO (First Input First Output)
يإ اا وأ جرا وأ يإ  ن ا  فاو ا  ما يإ ر 
 سأا و head or front و ا و tail or rear وا
 فا و ا ا       سأا ا أ  تا ن
 ةآا  ا  و    رو يإ أ را ر
لو ه   لوأ  اد  .
ا ر ردا ا  وأ ا.

 عاأ اا


ولدإ لوأ   اسأ او =0 1
HEAD

TAIL

TAIL

HEAD16
ولدإ     ا ا   مأ سأا ه آ 
2

1

ا  فا ويإ  ا ن سأاو او را ف  آ 
 ازإ  ف  آ  ر نإ تدرأ.
وا ج  د  لوأ
  ا اه و a . دزو
 أو ا سأا  
ة يا  .
TAIL

را نأ ا   
If
(
tail
<
size
-
1
&&
head
==
0
)ا  را نأ ا  و
 
If(tail==size-1&&head==0)
را ن ا  و ت 
جااو ف
If(tail>0&&head<=tail)
HEAD
void del(int[],int);
main(){clrscr();int i;
for(i=0;i<size;i++){if(tail==size-1){cout<<" FULL Queue";break;}
add_q(a,i+1);}
cout<<"ENTER VAL DELETE\n";cin>>i;
del(a,i);
while(tail>=head)cout<<p_q()<<" ";
getch();}
void add_q(int a[],int k){
if(tail==-1){head=tail=0;a[tail]=k;}
else
a[++tail]=k;
}
int p_q(){return a[head++];}

void del(int a[],int k){int x[10],t2,h2,m=head;t2=h2=-1;
if(tail==-1||head>tail)cout<<"THE QUEUE EMPTE\n";
else
while(m<=tail){
if(a[m]!=k){

18 if(t2==-1){h2=t2=0;x[t2]=a[m];}

else
x[++t2]=a[m];
}m++;}head=tail=-1;
while(t2>=h2){


void ser(int a[],int k){int y=0,t=tail,h=head;
if(t==-1||h>t)cout<<"THE QUEUE EMPTE\n";
else
while(h<=t){
if(a[h]==k){y=1;cout<<"FOUND\n"<<a[h];break;}h++;}
if(y==0)cout<<"NOT FOUND\n"<<k;cout<<endl;}

(* ر د
آذ ئرا و ا ة نأ دا 
وأ  آا  نأ را ا   آ  ب را  لوا
ر  ه  ا ةا
ا ا  لدإو  ا ا
 داا ا يوا  ر
 ا19 ا وا
)ا د  ةدا ا- ا د=(>) ا ا د-ا را  ( 
را  ذ ا  لوا.

(*اا 
ا دآ اورا   أ  را  ا  نأ ا آأ  تو و
ا ء ا ا اهو .
11)

#include<iostream.h>

(*م  آا س  إ؟ ر //او ا  ق   //
(*  ر صأ  و ا  هو 1 إ 5 را   هو ة ا
ر3 أا  و ي  ر ا د    ر  ه
 اإ زراو را ًوأ اا  ًوأ ا؟

20
• ا آا
ونأ اا    دا او راو ا آ   د م
تا ,ات تااو.

21

22

23


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status