//병신이 아니면 외우자!!
// a=b 오른쪽을 왼쪽에 넣는거
//strcmp(변수,변수)==0 -> 같은 값
//strcmp(변수,변수)>0 -> 다른값
#include <stdio.h>
typedef struct
{
char s[30];
int x,y,z;
} student;
int main()
{
int i,j,n;
student a[10001];
student temp;
scanf("%d",&n);
for(i=1; i<=n; i++)
{
scanf("%s %d %d %d",a[i].s,&a[i].x,&a[i].y,&a[i].z);
}
for(i=1; i<n; i++)
{
for(j=1; j<=n-i; j++)
{
if(a[j].x>a[j+1].x)
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
else if(a[j].x==a[j+1].x)
{
if(a[j].y>a[j+1].y)
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
else if(a[j].y==a[j+1].y)
{
if(a[j].z>a[j+1].z)
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
else if(strcmp(a[j].s,a[j+1].s)>0)
{
temp=a[j+1];
a[j+1]=a[j];
a[j]=temp;
}
}
}
}
}
for(i=1; i<=n; i++)
{
printf("%s\n",a[i].s);
}
}
/*
-------------------------------------------------------------------------------------
*/
//병신이 아니면 외우자!!
//버블정렬 i= <
//버블정렬 j= <=
#include <stdio.h>
int main()
{
int a[101];
int b,i,j;
for(i=1;i<=7;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<7;i++)
{
for(j=1;j<=7-i;j++)
{
if(a[j]<a[j+1])
{
b=a[j];
a[j]=a[j+1];
a[j+1]=b;
}
}
}
for(i=1;i<=2;i++)
{
printf("%d\n",a[i]);
}
}
#include <stdio.h>
int main()
{
int a[101],n,i,j,x;
scanf("%d",&n);
for(i=1;i<=n;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<n;i++)
{
for(j=1;j<=n-i;j++)
{
if(a[j]<a[j+1])
{
x=a[j];
a[j]=a[j+1];
a[j+1]=x;
}
}
}
for(i=1;i<=n;i++)
{
printf("%d ",a[i]);
}
}
/*
-------------------------------------------------------------------------------------
*/
선택정렬
#include <stdio.h>
int main()
{
int a[101],b,i,j,y,min;
scanf("%d",&b);
for(i=1;i<=b;i++)
{
scanf("%d",&a[i]);
}
for(i=1;i<b;i++)
{
min=i;
for(j=i+1;j<=b;j++)
{
if(a[min]>a[j])
{
min=j;
}
}
y=a[i];
a[i]=a[min];
a[min]=y;
}
for(i=1;i<=b;i++)
{
printf("%d\n",a[i]);
}
}