3.並べ替えを選択します
#include<stdio.h>
#define N 10
int main()
{
int arr[N]={
1,-1,20,100,35,634,3,6,12,62};
int t;
for(int i=0;i<N-1;i++)
{
for(int j=i+1;j<N;j++)
{
if(arr[i]>arr[j])
{
t=arr[i];
arr[i]=arr[j];
arr[j]=t;
}
}
}
for(int i=0;i<10;i++)
{
printf("%d\n",arr[i]);
}
return 0;
}
4.選択ソートの改善:変更せずに比較し、添え字を書き留めるだけです
#include<stdio.h>
#define N 30
int main()
{
int arr[N];
for(int i=0; i<N; i++)
{
arr[i]=rand()%100;
}
for(int i=0; i<N-1; i++)
{
int idx=i;
for(int j=i+1; j<N; j++)
{
if(arr[idx]>arr[j])
idx=j;
}
if(idx!=i)
{
arr[idx]^=arr[i];
arr[i]^=arr[idx];
arr[idx]^=arr[i];
}
}
for(int i=0; i<N; i++)
{
printf("%d\n",arr[i]);
}
}
添付ファイル:C ^ナレッジポイントのXOR演算子