. , I=2, i- , i 1 . .
, . . , j:=i-1. a[i], , a[j] , . :
- a[j]>a[i];
- .
int i,j,x;
for(i=1;i<n;i++)
{
x=a[i];// ,
j=i-1;
while(x<a[j]&&j>=0)//
{
a[j+1]=a[j];//
j--;
}
a[j+1]=x;//
}
. . .
int i,min,n_min,j;
for(i=0;i<n-1;i++)
{
min=a[i];n_min=i;//
for(j=i+1;j<n;j++)
if(a[j]<min)
{
min=a[j];
n_min=j;
}
a[n_min]=a[i];//
a[i]=min;
}
, . . .
42 | |||||
for(int i=1;i<n;i++)
for(int j=n-1;j>=i;j--)
if(a[j]<a[j-1])
{
int r=a[j];
a[j]=a[j-1];
a[j-1]=r;}
}
() . n/2 , n . m , n- m- 2, n 2, n<k=2m.
S:=(L+R)/ 2+1 . , , a[S]<X , . . ., , L R .
L S R
|
|
int b;
cout<<"\nB=?";cin>>b;
int l=0,r=n-1,s;
do
{
s=(l+r)/2;//
if(a[s]<b)l=s+1;//
else r=s;//
}while(l!=r);
if(a[l]==b)return l;
else return -1;
1) n (n ).
2) .
3) .
4) .
5) .
6) .
7) .
8) .
9) , .
10) .
11) .
12) .
13) , .
14) .
M | |||||
N , | M | () | |||
N , K | |||||
, - | |||||
N , | , - | () | |||
M | |||||
M | |||||
N , | () | ||||
, - | |||||
N , K | |||||
, - | |||||
N , | () | ||||
M | |||||
M | |||||
N , | , - | () | |||
, - | |||||
N , K | |||||
N , | M | () | |||
M | |||||
|
|
1. . :
1) :
const int MAX_SIZE=100;//
int mas[MAX_SIZE];
2) N.
int n;
cout<<\nEnter the size of array<<<MAX_SIZE<<:;cin>>n;
3) n.
2. . int rand(), 0..RAND_MAX=32767, <stdlib.h>. . , a[I]=rand()%100-50; [-50;49].
3. . , .
6. :
1) ( ).
2) : .
3) .
4) .
5) .
4
++
1. :
1) , .
|
|
2)
3) .
, , , , . .
.
(, ) , .
, , , .
_([__])
{ _}
_ . .
, . 2 :
1) return ;
2) return;
, , . , , . . void. , }.
, , .
, . . . .
, , , . : . . .
, . void, .
. : .
- :
- , ;
- ;
- , .
void Change(int a,int b)//
{
int r=a;
a=b;
b=r;
}
int main()
{
int x=1,y=5;
Change(x,y);
cout<<x=<<x<< y=<<y; //: x=1 y=5
return 1;
}
- , , , .
void Change(int *a,int *b)//
{
int r=*a;
*a=*b;
*b=r;
}
int main()
{
int x=1,y=5;
Change(&x,&y);
cout<<x=<<x<< y=<<y; //: x=5 y=1
return 1;
}
. , .
& =_;
|
|
, .
, .
void Change(int &a,int &b)
{
int r=a;
a=b;
b=r;
}
int main()
{
int x=1,y=5;
Change(x,y);
cout<<x=<<x<< y=<<y; //: x=5 y=1
return 1;
}
, . . . , .. . , const. const , ( , , ).