Advertisement
Guest User

Untitled

a guest
Jan 17th, 2017
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.68 KB | None | 0 0
  1. #include<bits/stdc++.h>
  2.  
  3. using namespace std ;
  4.  
  5. /*
  6. sort function use kore sort kora hoise ekhane , tobe jehetu sort function ta ekta normal integer type er array er upor kaj na kore struct typ er data er upore kaj kortese,
  7. so ekhane sort function by default vabe kokhonoi bujte parbe na je kisher vitti te amader ke sort kora lagbe , amader je priority variable er vitti te sort kora proyojon seta
  8. sort function take amader bujhano lagbe , r sort function ta ke eta bujhanor jonno process name er struct er vitor ekta operator overloading function likte hoise,
  9. sort jokhon kora hoy tokhon oviously 2 ta data er vitore comparison hobe (lyk bubble sort e pasha pashi 2 ta data er moddhe comparison hoito) r ei comparison ta korar tym e
  10. < ei sign ta use kora hoye thake , karon ei sign use kora chara amra comparison korte parbo na data er vitore,,, so ekhaneo sort function sort korar tym e ei sign use kore ,,, but
  11. ei sign ta kivabe kaj korbe seta amdr ke bole dite hobe operator function leikha.etake bole operator overloading. jokhon 2 ta data er vitor comparison hobe tokhon < ei sign ta
  12. oi 2 ta data er moddhe apply korar por jokhon operator function er value true return hobe thik tokhon e oi 2 ta data er moddhe swap hobe karon amra jani swap chara sorting
  13. possible na , r eikhane operator function er vitore shei kaj ta e kora hoise. eikhane const process &p etar mane hocche process type er ekta constant pointer newa hoise .
  14. jokhon 2 ta data er moddhe comparison hobe tokhon shei 2 tar moddhe jeta array te serially age asbe seta ke point korbe ei p pointer ta , r serially jeta pore asbe seta
  15. ke point korbe shei pointer ta jeta ei function ta kei call korlo , tar mane p hoilo ekhane first diker index(karon array te serially age asche) r jei object ta function
  16. ta ke call korlo se hoilo second diker index(karon eta array te serially pore ase),,so amader target hocche amra first diker index ke point kora object er priority er value
  17. jodi second diker index ke point kora object er priority er value theke boro hoy taile amra return true korabo r true return korlei tader moddhe swap hobe ,then swap houar
  18. por jar priority value kom chilo se samne chole asbe r jar beshi chilo se pore chole jabe ,, tar mane evabe kore ei code e priority er vitti te ascending order e sort
  19. hocche array ta
  20. */
  21.  
  22.  
  23. struct process{
  24. int processId , priority ;
  25. bool operator < (const process &p) const{
  26. if(p.priority>priority) { /*prothom tar priority jodi porer tar priority theke boro hoy taile if er vitore dhuika return true korbe and er pore swap o korbe tar mane kom priority jetar seta samne chole gelo r beshi priority er ta pore chole gelo r evabei ascending sort hocche */
  27. return true ;
  28. }
  29. else{
  30. return false ; /* r jodi prothom tar priority kom e thake taile false return korabo and kono swap o hobe na false return koraile , er mane tader ordering ta thik ase already */
  31. }
  32. }
  33. };
  34.  
  35. int main(void){
  36. int n ;
  37. process List[100]; // process typ er array
  38. cout<<"Enter the number of process : " ;
  39. cin>>n ;
  40. cout<<"Enter the process no. and priority no. : "<<endl ;
  41. for(int i = 0 ; i<n ; i++){
  42. process p ; // process typ er variable
  43. int procId , priorityId ;
  44. cin>>procId>>priorityId ;
  45. p.processId = procId ;
  46. p.priority = priorityId ;
  47. List[i] = p ;
  48. }
  49. sort(List+0 , List+n) ; // List array tar 0 theke n index porjonto sort korte chacchi tai 0 r n + akare liksi evabe sort function likte hoy
  50. cout<<endl;
  51. for(int i = 0 ; i<n ; i++){
  52. cout<<List[i].processId<<" "<<List[i].priority<<endl ;
  53. }
  54. return 0 ;
  55. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement