fork download
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. /*void printArray(int* A, int n)
  6. {
  7.   int i;
  8.   for (i=0;i<n;i++)
  9.   {
  10.   cout<<"["<<A[i]<<"]";
  11.   }
  12.   cout<<endl;
  13. }*/
  14.  
  15. void print2Array(int A[], int n)
  16. {
  17. int i;
  18. for (i=0;i<n;i++)
  19. {
  20. cout<<"["<<A[i]<<"]";
  21. }
  22. cout<<endl;
  23. }
  24.  
  25.  
  26. void BubbleSort(int* A, int n)
  27. {
  28. int i,j,buf=0;
  29. for (i=1;i<n;i++)
  30. {
  31. for (j=0;j<n-1;j++)
  32. {
  33. if(A[j]>A[j+1])
  34. { buf=0;
  35. buf=A[j];
  36. A[j]=A[j+1];
  37. A[j+1]=buf;
  38. }
  39. }
  40. }
  41. }
  42.  
  43.  
  44. void ShakerSort(int* A, int n)
  45. {
  46. int i, right=n-1, left=0, flag=1, buf=0;
  47. while ((left<right) && flag>=1)
  48. {
  49. for(i=left;i<right;i++)
  50. {
  51. if(A[i]>A[i+1])
  52. {
  53. buf=A[i];
  54. A[i]=A[i+1];
  55. A[i+1]=buf;
  56. flag=1;
  57. }
  58. }
  59. right--;
  60. for(i=right;i>left;i--)
  61. {
  62. if (A[i-1]>A[i])
  63. {
  64. buf=A[i];
  65. A[i]=A[i-1];
  66. A[i-1]=buf;
  67. flag=1;
  68. }
  69. }
  70. left++;
  71. }
  72. }
  73.  
  74.  
  75. void OurMethod(int A[], int n)
  76. {
  77. int i,j,k;
  78. int max=0,min=0;
  79. int buf;
  80.  
  81. k=n-1;
  82. for(i=0;i<n/2;i++)
  83. {
  84. if (A[i]<=A[k-i])
  85. {
  86. cout<<"if№1=true"<<endl;
  87. min=i;
  88. max=k-i;
  89. }
  90. if (A[i]>A[k-i])
  91. {
  92. cout<<"if№2=true"<<endl;
  93. min=k-i;
  94. max=i;
  95. }
  96. cout<<"Init. max,min"<<" min="<<min<<" max="<<max<<" i="<<i<<" A[min]="<<A[min]<<" A[max]="<<A[max]<<endl;
  97. for(j=i+1;j<k-j;j++)
  98. {
  99. cout<<endl<<"A[j]<A[min]:min= "<<min<<" j= "<<j<<" A[j]= "<<A[j]<<" A[min]= "<<A[min];
  100. if(A[j]<A[min])
  101. {
  102. cout<<" if=true";
  103. min=j;
  104.  
  105. }
  106. cout<<endl<<"A[j]>A[max]:max= "<<max<<" j= "<<j<<" A[j]= "<<A[j]<<" A[max]= "<<A[max];
  107. if (A[j]>A[max])
  108. {
  109. cout<<" if=true";
  110. max=j;
  111. }
  112. cout<<endl<<"A[k-j]<A[min]:min= "<<min<<" k-j= "<<k-j<<" A[k-j]= "<<A[k-j]<<" A[min]= "<<A[min];
  113. if (A[k-j]<A[min])
  114. {
  115. cout<<" if=true";
  116. min=k-j;
  117. }
  118. cout<<endl<<"A[k-j]>A[max]:max= "<<max<<" k-j= "<<k-j<<" A[k-j]= "<<A[k-j]<<" A[max]= "<<A[max];
  119. if (A[k-j]>A[max])
  120. {
  121. cout<<" if=true";
  122. max=k-j;
  123.  
  124. }
  125. cout<<endl;
  126. }
  127. cout<<endl<<"min==max"<<"min= "<<min<<", i=" <<i<<", A[min]= "<<A[min]<<", A[i]="<<A[i];
  128. if(A[min]==A[max])
  129. {
  130. cout<<"change: A[min]=buf";
  131. buf=A[i-2];
  132. A[i-2]=A[min];
  133. A[min]=buf;
  134. cout<<endl<<"min==max"<<"min= "<<min<<", i=" <<i<<", A[min]= "<<A[min]<<", A[i]="<<A[i];
  135. i--;
  136. }
  137. cout<<endl<<"min= "<<min<<", i=" <<i<<", A[min]= "<<A[min]<<", A[i]="<<A[i];
  138. if(min!=i)
  139. {
  140. cout<<endl<<"min>i-1: change"<<endl;
  141. buf=A[min];
  142. A[min]=A[i];
  143. A[i]=buf;
  144. }
  145. cout<<endl<<"max= "<<max<<", (k-i)=" <<(k-i)<<", A[max]= "<<A[max]<<", A[(k-i)]="<<A[(k-i)];
  146. if (max!=(k-i))
  147. {
  148. cout<<endl<<"max>(k-i): change"<<endl;
  149. buf=A[max];
  150. A[max]=A[k-i];
  151. A[k-i]=buf;
  152. }
  153. // cout<<endl<<"22 max= "<<max<<", (k-i)=" <<(k-i)<<", A[max]= "<<A[max]<<", A[(k-i)]="<<A[(k-i)];
  154. cout<<endl;
  155. print2Array(A,n);
  156. }
  157. }
  158.  
  159. int main()
  160. {
  161. int n=20,i;
  162. int* A=new int[n];
  163. int amax=99,amin=0;
  164. //int* A[20]={28,43,72,79,23,70,55,39,69,1,41,40,5,25,95,4,42,54,79,55};
  165. for (i=0;i<n;i++)
  166. {
  167. A[i]=rand()%amax+amin;
  168. }
  169.  
  170. cout<<"New Array:"<<endl;
  171. print2Array(A,n);
  172. cout<<"\n\n";
  173. //ShakerSort(A,n);
  174. //cout<<"Array was sorted shaker method:"<<endl;
  175. //cout<<"Arrey was sorted bubble method:"<<endl;
  176. //BubbleSort(A,n);
  177. // cout<<"Array was sorted Our Method:"<<endl;
  178. OurMethod(A,n);
  179. print2Array(A,n);
  180. return 0;
  181. }
Success #stdin #stdout 0.01s 5424KB
stdin
Standard input is empty
stdout
New Array:
[28][43][72][79][23][70][55][39][69][1][41][40][5][25][95][4][42][54][79][55]


if№1=true
Init. max,min min=0 max=19 i=0 A[min]=28 A[max]=55

A[j]<A[min]:min= 0 j= 1 A[j]= 43 A[min]= 28
A[j]>A[max]:max= 19 j= 1 A[j]= 43 A[max]= 55
A[k-j]<A[min]:min= 0 k-j= 18 A[k-j]= 79 A[min]= 28
A[k-j]>A[max]:max= 19 k-j= 18 A[k-j]= 79 A[max]= 55 if=true

A[j]<A[min]:min= 0 j= 2 A[j]= 72 A[min]= 28
A[j]>A[max]:max= 18 j= 2 A[j]= 72 A[max]= 79
A[k-j]<A[min]:min= 0 k-j= 17 A[k-j]= 54 A[min]= 28
A[k-j]>A[max]:max= 18 k-j= 17 A[k-j]= 54 A[max]= 79

A[j]<A[min]:min= 0 j= 3 A[j]= 79 A[min]= 28
A[j]>A[max]:max= 18 j= 3 A[j]= 79 A[max]= 79
A[k-j]<A[min]:min= 0 k-j= 16 A[k-j]= 42 A[min]= 28
A[k-j]>A[max]:max= 18 k-j= 16 A[k-j]= 42 A[max]= 79

A[j]<A[min]:min= 0 j= 4 A[j]= 23 A[min]= 28 if=true
A[j]>A[max]:max= 18 j= 4 A[j]= 23 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 15 A[k-j]= 4 A[min]= 23 if=true
A[k-j]>A[max]:max= 18 k-j= 15 A[k-j]= 4 A[max]= 79

A[j]<A[min]:min= 15 j= 5 A[j]= 70 A[min]= 4
A[j]>A[max]:max= 18 j= 5 A[j]= 70 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 14 A[k-j]= 95 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 14 A[k-j]= 95 A[max]= 79 if=true

A[j]<A[min]:min= 15 j= 6 A[j]= 55 A[min]= 4
A[j]>A[max]:max= 14 j= 6 A[j]= 55 A[max]= 95
A[k-j]<A[min]:min= 15 k-j= 13 A[k-j]= 25 A[min]= 4
A[k-j]>A[max]:max= 14 k-j= 13 A[k-j]= 25 A[max]= 95

A[j]<A[min]:min= 15 j= 7 A[j]= 39 A[min]= 4
A[j]>A[max]:max= 14 j= 7 A[j]= 39 A[max]= 95
A[k-j]<A[min]:min= 15 k-j= 12 A[k-j]= 5 A[min]= 4
A[k-j]>A[max]:max= 14 k-j= 12 A[k-j]= 5 A[max]= 95

A[j]<A[min]:min= 15 j= 8 A[j]= 69 A[min]= 4
A[j]>A[max]:max= 14 j= 8 A[j]= 69 A[max]= 95
A[k-j]<A[min]:min= 15 k-j= 11 A[k-j]= 40 A[min]= 4
A[k-j]>A[max]:max= 14 k-j= 11 A[k-j]= 40 A[max]= 95

A[j]<A[min]:min= 15 j= 9 A[j]= 1 A[min]= 4 if=true
A[j]>A[max]:max= 14 j= 9 A[j]= 1 A[max]= 95
A[k-j]<A[min]:min= 9 k-j= 10 A[k-j]= 41 A[min]= 1
A[k-j]>A[max]:max= 14 k-j= 10 A[k-j]= 41 A[max]= 95

min==maxmin= 9, i=0, A[min]= 1, A[i]=28
min= 9, i=0, A[min]= 1, A[i]=28
min>i-1: change

max= 14, (k-i)=19, A[max]= 95, A[(k-i)]=55
max>(k-i): change

[1][43][72][79][23][70][55][39][69][28][41][40][5][25][55][4][42][54][79][95]
if№1=true
Init. max,min min=1 max=18 i=1 A[min]=43 A[max]=79

A[j]<A[min]:min= 1 j= 2 A[j]= 72 A[min]= 43
A[j]>A[max]:max= 18 j= 2 A[j]= 72 A[max]= 79
A[k-j]<A[min]:min= 1 k-j= 17 A[k-j]= 54 A[min]= 43
A[k-j]>A[max]:max= 18 k-j= 17 A[k-j]= 54 A[max]= 79

A[j]<A[min]:min= 1 j= 3 A[j]= 79 A[min]= 43
A[j]>A[max]:max= 18 j= 3 A[j]= 79 A[max]= 79
A[k-j]<A[min]:min= 1 k-j= 16 A[k-j]= 42 A[min]= 43 if=true
A[k-j]>A[max]:max= 18 k-j= 16 A[k-j]= 42 A[max]= 79

A[j]<A[min]:min= 16 j= 4 A[j]= 23 A[min]= 42 if=true
A[j]>A[max]:max= 18 j= 4 A[j]= 23 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 15 A[k-j]= 4 A[min]= 23 if=true
A[k-j]>A[max]:max= 18 k-j= 15 A[k-j]= 4 A[max]= 79

A[j]<A[min]:min= 15 j= 5 A[j]= 70 A[min]= 4
A[j]>A[max]:max= 18 j= 5 A[j]= 70 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 14 A[k-j]= 55 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 14 A[k-j]= 55 A[max]= 79

A[j]<A[min]:min= 15 j= 6 A[j]= 55 A[min]= 4
A[j]>A[max]:max= 18 j= 6 A[j]= 55 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 13 A[k-j]= 25 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 13 A[k-j]= 25 A[max]= 79

A[j]<A[min]:min= 15 j= 7 A[j]= 39 A[min]= 4
A[j]>A[max]:max= 18 j= 7 A[j]= 39 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 12 A[k-j]= 5 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 12 A[k-j]= 5 A[max]= 79

A[j]<A[min]:min= 15 j= 8 A[j]= 69 A[min]= 4
A[j]>A[max]:max= 18 j= 8 A[j]= 69 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 11 A[k-j]= 40 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 11 A[k-j]= 40 A[max]= 79

A[j]<A[min]:min= 15 j= 9 A[j]= 28 A[min]= 4
A[j]>A[max]:max= 18 j= 9 A[j]= 28 A[max]= 79
A[k-j]<A[min]:min= 15 k-j= 10 A[k-j]= 41 A[min]= 4
A[k-j]>A[max]:max= 18 k-j= 10 A[k-j]= 41 A[max]= 79

min==maxmin= 15, i=1, A[min]= 4, A[i]=43
min= 15, i=1, A[min]= 4, A[i]=43
min>i-1: change

max= 18, (k-i)=18, A[max]= 79, A[(k-i)]=79
[1][4][72][79][23][70][55][39][69][28][41][40][5][25][55][43][42][54][79][95]
if№2=true
Init. max,min min=17 max=2 i=2 A[min]=54 A[max]=72

A[j]<A[min]:min= 17 j= 3 A[j]= 79 A[min]= 54
A[j]>A[max]:max= 2 j= 3 A[j]= 79 A[max]= 72 if=true
A[k-j]<A[min]:min= 17 k-j= 16 A[k-j]= 42 A[min]= 54 if=true
A[k-j]>A[max]:max= 3 k-j= 16 A[k-j]= 42 A[max]= 79

A[j]<A[min]:min= 16 j= 4 A[j]= 23 A[min]= 42 if=true
A[j]>A[max]:max= 3 j= 4 A[j]= 23 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 15 A[k-j]= 43 A[min]= 23
A[k-j]>A[max]:max= 3 k-j= 15 A[k-j]= 43 A[max]= 79

A[j]<A[min]:min= 4 j= 5 A[j]= 70 A[min]= 23
A[j]>A[max]:max= 3 j= 5 A[j]= 70 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 14 A[k-j]= 55 A[min]= 23
A[k-j]>A[max]:max= 3 k-j= 14 A[k-j]= 55 A[max]= 79

A[j]<A[min]:min= 4 j= 6 A[j]= 55 A[min]= 23
A[j]>A[max]:max= 3 j= 6 A[j]= 55 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 13 A[k-j]= 25 A[min]= 23
A[k-j]>A[max]:max= 3 k-j= 13 A[k-j]= 25 A[max]= 79

A[j]<A[min]:min= 4 j= 7 A[j]= 39 A[min]= 23
A[j]>A[max]:max= 3 j= 7 A[j]= 39 A[max]= 79
A[k-j]<A[min]:min= 4 k-j= 12 A[k-j]= 5 A[min]= 23 if=true
A[k-j]>A[max]:max= 3 k-j= 12 A[k-j]= 5 A[max]= 79

A[j]<A[min]:min= 12 j= 8 A[j]= 69 A[min]= 5
A[j]>A[max]:max= 3 j= 8 A[j]= 69 A[max]= 79
A[k-j]<A[min]:min= 12 k-j= 11 A[k-j]= 40 A[min]= 5
A[k-j]>A[max]:max= 3 k-j= 11 A[k-j]= 40 A[max]= 79

A[j]<A[min]:min= 12 j= 9 A[j]= 28 A[min]= 5
A[j]>A[max]:max= 3 j= 9 A[j]= 28 A[max]= 79
A[k-j]<A[min]:min= 12 k-j= 10 A[k-j]= 41 A[min]= 5
A[k-j]>A[max]:max= 3 k-j= 10 A[k-j]= 41 A[max]= 79

min==maxmin= 12, i=2, A[min]= 5, A[i]=72
min= 12, i=2, A[min]= 5, A[i]=72
min>i-1: change

max= 3, (k-i)=17, A[max]= 79, A[(k-i)]=54
max>(k-i): change

[1][4][5][54][23][70][55][39][69][28][41][40][72][25][55][43][42][79][79][95]
if№2=true
Init. max,min min=16 max=3 i=3 A[min]=42 A[max]=54

A[j]<A[min]:min= 16 j= 4 A[j]= 23 A[min]= 42 if=true
A[j]>A[max]:max= 3 j= 4 A[j]= 23 A[max]= 54
A[k-j]<A[min]:min= 4 k-j= 15 A[k-j]= 43 A[min]= 23
A[k-j]>A[max]:max= 3 k-j= 15 A[k-j]= 43 A[max]= 54

A[j]<A[min]:min= 4 j= 5 A[j]= 70 A[min]= 23
A[j]>A[max]:max= 3 j= 5 A[j]= 70 A[max]= 54 if=true
A[k-j]<A[min]:min= 4 k-j= 14 A[k-j]= 55 A[min]= 23
A[k-j]>A[max]:max= 5 k-j= 14 A[k-j]= 55 A[max]= 70

A[j]<A[min]:min= 4 j= 6 A[j]= 55 A[min]= 23
A[j]>A[max]:max= 5 j= 6 A[j]= 55 A[max]= 70
A[k-j]<A[min]:min= 4 k-j= 13 A[k-j]= 25 A[min]= 23
A[k-j]>A[max]:max= 5 k-j= 13 A[k-j]= 25 A[max]= 70

A[j]<A[min]:min= 4 j= 7 A[j]= 39 A[min]= 23
A[j]>A[max]:max= 5 j= 7 A[j]= 39 A[max]= 70
A[k-j]<A[min]:min= 4 k-j= 12 A[k-j]= 72 A[min]= 23
A[k-j]>A[max]:max= 5 k-j= 12 A[k-j]= 72 A[max]= 70 if=true

A[j]<A[min]:min= 4 j= 8 A[j]= 69 A[min]= 23
A[j]>A[max]:max= 12 j= 8 A[j]= 69 A[max]= 72
A[k-j]<A[min]:min= 4 k-j= 11 A[k-j]= 40 A[min]= 23
A[k-j]>A[max]:max= 12 k-j= 11 A[k-j]= 40 A[max]= 72

A[j]<A[min]:min= 4 j= 9 A[j]= 28 A[min]= 23
A[j]>A[max]:max= 12 j= 9 A[j]= 28 A[max]= 72
A[k-j]<A[min]:min= 4 k-j= 10 A[k-j]= 41 A[min]= 23
A[k-j]>A[max]:max= 12 k-j= 10 A[k-j]= 41 A[max]= 72

min==maxmin= 4, i=3, A[min]= 23, A[i]=54
min= 4, i=3, A[min]= 23, A[i]=54
min>i-1: change

max= 12, (k-i)=16, A[max]= 72, A[(k-i)]=42
max>(k-i): change

[1][4][5][23][54][70][55][39][69][28][41][40][42][25][55][43][72][79][79][95]
if№2=true
Init. max,min min=15 max=4 i=4 A[min]=43 A[max]=54

A[j]<A[min]:min= 15 j= 5 A[j]= 70 A[min]= 43
A[j]>A[max]:max= 4 j= 5 A[j]= 70 A[max]= 54 if=true
A[k-j]<A[min]:min= 15 k-j= 14 A[k-j]= 55 A[min]= 43
A[k-j]>A[max]:max= 5 k-j= 14 A[k-j]= 55 A[max]= 70

A[j]<A[min]:min= 15 j= 6 A[j]= 55 A[min]= 43
A[j]>A[max]:max= 5 j= 6 A[j]= 55 A[max]= 70
A[k-j]<A[min]:min= 15 k-j= 13 A[k-j]= 25 A[min]= 43 if=true
A[k-j]>A[max]:max= 5 k-j= 13 A[k-j]= 25 A[max]= 70

A[j]<A[min]:min= 13 j= 7 A[j]= 39 A[min]= 25
A[j]>A[max]:max= 5 j= 7 A[j]= 39 A[max]= 70
A[k-j]<A[min]:min= 13 k-j= 12 A[k-j]= 42 A[min]= 25
A[k-j]>A[max]:max= 5 k-j= 12 A[k-j]= 42 A[max]= 70

A[j]<A[min]:min= 13 j= 8 A[j]= 69 A[min]= 25
A[j]>A[max]:max= 5 j= 8 A[j]= 69 A[max]= 70
A[k-j]<A[min]:min= 13 k-j= 11 A[k-j]= 40 A[min]= 25
A[k-j]>A[max]:max= 5 k-j= 11 A[k-j]= 40 A[max]= 70

A[j]<A[min]:min= 13 j= 9 A[j]= 28 A[min]= 25
A[j]>A[max]:max= 5 j= 9 A[j]= 28 A[max]= 70
A[k-j]<A[min]:min= 13 k-j= 10 A[k-j]= 41 A[min]= 25
A[k-j]>A[max]:max= 5 k-j= 10 A[k-j]= 41 A[max]= 70

min==maxmin= 13, i=4, A[min]= 25, A[i]=54
min= 13, i=4, A[min]= 25, A[i]=54
min>i-1: change

max= 5, (k-i)=15, A[max]= 70, A[(k-i)]=43
max>(k-i): change

[1][4][5][23][25][43][55][39][69][28][41][40][42][54][55][70][72][79][79][95]
if№1=true
Init. max,min min=5 max=14 i=5 A[min]=43 A[max]=55

A[j]<A[min]:min= 5 j= 6 A[j]= 55 A[min]= 43
A[j]>A[max]:max= 14 j= 6 A[j]= 55 A[max]= 55
A[k-j]<A[min]:min= 5 k-j= 13 A[k-j]= 54 A[min]= 43
A[k-j]>A[max]:max= 14 k-j= 13 A[k-j]= 54 A[max]= 55

A[j]<A[min]:min= 5 j= 7 A[j]= 39 A[min]= 43 if=true
A[j]>A[max]:max= 14 j= 7 A[j]= 39 A[max]= 55
A[k-j]<A[min]:min= 7 k-j= 12 A[k-j]= 42 A[min]= 39
A[k-j]>A[max]:max= 14 k-j= 12 A[k-j]= 42 A[max]= 55

A[j]<A[min]:min= 7 j= 8 A[j]= 69 A[min]= 39
A[j]>A[max]:max= 14 j= 8 A[j]= 69 A[max]= 55 if=true
A[k-j]<A[min]:min= 7 k-j= 11 A[k-j]= 40 A[min]= 39
A[k-j]>A[max]:max= 8 k-j= 11 A[k-j]= 40 A[max]= 69

A[j]<A[min]:min= 7 j= 9 A[j]= 28 A[min]= 39 if=true
A[j]>A[max]:max= 8 j= 9 A[j]= 28 A[max]= 69
A[k-j]<A[min]:min= 9 k-j= 10 A[k-j]= 41 A[min]= 28
A[k-j]>A[max]:max= 8 k-j= 10 A[k-j]= 41 A[max]= 69

min==maxmin= 9, i=5, A[min]= 28, A[i]=43
min= 9, i=5, A[min]= 28, A[i]=43
min>i-1: change

max= 8, (k-i)=14, A[max]= 69, A[(k-i)]=55
max>(k-i): change

[1][4][5][23][25][28][55][39][55][43][41][40][42][54][69][70][72][79][79][95]
if№2=true
Init. max,min min=13 max=6 i=6 A[min]=54 A[max]=55

A[j]<A[min]:min= 13 j= 7 A[j]= 39 A[min]= 54 if=true
A[j]>A[max]:max= 6 j= 7 A[j]= 39 A[max]= 55
A[k-j]<A[min]:min= 7 k-j= 12 A[k-j]= 42 A[min]= 39
A[k-j]>A[max]:max= 6 k-j= 12 A[k-j]= 42 A[max]= 55

A[j]<A[min]:min= 7 j= 8 A[j]= 55 A[min]= 39
A[j]>A[max]:max= 6 j= 8 A[j]= 55 A[max]= 55
A[k-j]<A[min]:min= 7 k-j= 11 A[k-j]= 40 A[min]= 39
A[k-j]>A[max]:max= 6 k-j= 11 A[k-j]= 40 A[max]= 55

A[j]<A[min]:min= 7 j= 9 A[j]= 43 A[min]= 39
A[j]>A[max]:max= 6 j= 9 A[j]= 43 A[max]= 55
A[k-j]<A[min]:min= 7 k-j= 10 A[k-j]= 41 A[min]= 39
A[k-j]>A[max]:max= 6 k-j= 10 A[k-j]= 41 A[max]= 55

min==maxmin= 7, i=6, A[min]= 39, A[i]=55
min= 7, i=6, A[min]= 39, A[i]=55
min>i-1: change

max= 6, (k-i)=13, A[max]= 39, A[(k-i)]=54
max>(k-i): change

[1][4][5][23][25][28][54][55][55][43][41][40][42][39][69][70][72][79][79][95]
if№2=true
Init. max,min min=12 max=7 i=7 A[min]=42 A[max]=55

A[j]<A[min]:min= 12 j= 8 A[j]= 55 A[min]= 42
A[j]>A[max]:max= 7 j= 8 A[j]= 55 A[max]= 55
A[k-j]<A[min]:min= 12 k-j= 11 A[k-j]= 40 A[min]= 42 if=true
A[k-j]>A[max]:max= 7 k-j= 11 A[k-j]= 40 A[max]= 55

A[j]<A[min]:min= 11 j= 9 A[j]= 43 A[min]= 40
A[j]>A[max]:max= 7 j= 9 A[j]= 43 A[max]= 55
A[k-j]<A[min]:min= 11 k-j= 10 A[k-j]= 41 A[min]= 40
A[k-j]>A[max]:max= 7 k-j= 10 A[k-j]= 41 A[max]= 55

min==maxmin= 11, i=7, A[min]= 40, A[i]=55
min= 11, i=7, A[min]= 40, A[i]=55
min>i-1: change

max= 7, (k-i)=12, A[max]= 40, A[(k-i)]=42
max>(k-i): change

[1][4][5][23][25][28][54][42][55][43][41][55][40][39][69][70][72][79][79][95]
if№1=true
Init. max,min min=8 max=11 i=8 A[min]=55 A[max]=55

A[j]<A[min]:min= 8 j= 9 A[j]= 43 A[min]= 55 if=true
A[j]>A[max]:max= 11 j= 9 A[j]= 43 A[max]= 55
A[k-j]<A[min]:min= 9 k-j= 10 A[k-j]= 41 A[min]= 43 if=true
A[k-j]>A[max]:max= 11 k-j= 10 A[k-j]= 41 A[max]= 55

min==maxmin= 10, i=8, A[min]= 41, A[i]=55
min= 10, i=8, A[min]= 41, A[i]=55
min>i-1: change

max= 11, (k-i)=11, A[max]= 55, A[(k-i)]=55
[1][4][5][23][25][28][54][42][41][43][55][55][40][39][69][70][72][79][79][95]
if№1=true
Init. max,min min=9 max=10 i=9 A[min]=43 A[max]=55

min==maxmin= 9, i=9, A[min]= 43, A[i]=43
min= 9, i=9, A[min]= 43, A[i]=43
max= 10, (k-i)=10, A[max]= 55, A[(k-i)]=55
[1][4][5][23][25][28][54][42][41][43][55][55][40][39][69][70][72][79][79][95]
[1][4][5][23][25][28][54][42][41][43][55][55][40][39][69][70][72][79][79][95]