티스토리 뷰

프로그래밍/알고리즘

구조체 정렬

터프 프로그래머 2011. 2. 25. 23:30


#include<stdio.h>
#include<algorithm>
using namespace std;
struct data
{
    int a,b,c;
}p[100];
int cmp(const data a, const data b)
//지역변수로 지정해주어서 함수가 종료되면
//a,b 변수가 사라져서 메모리 낭비를 줄여줌
{
    return a.c < b.c;
    //p[i].c의 값을 기준으로 정렬
}
void main()
{
    FILE *fp=fopen("input.txt","r");
    int a,i;

    fscanf(fp,"%d", &a); //입력받는 값의 갯수 입력
    for(i=1;i<=a;i++)
        fscanf(fp,"%d %d %d", &p[i].a, &p[i].b, &p[i].c); //값을 입력 받음
    sort(p,p+6,cmp);
    for(i=1;i<=a;i++)
        printf("%d %d %d\n", p[i].a, p[i].b, p[i].c);
}


sort함수를 쓰기 때문에 시간복잡도가 매우 작고
쓰기도 편하다(소스도 짧음).
STL?? 그건 안써봐서 모르겠는데 난 앞으로 이걸 쓸 예정.
소스 설명은 주석을 참고하기 바람~

'프로그래밍 > 알고리즘' 카테고리의 다른 글

목걸이 문제  (0) 2011.02.25
부저모으기  (0) 2011.02.25
이전순열 다음순열  (0) 2011.02.25
막대자르기  (0) 2011.02.25
떡 먹는 호랑이 - 다이나믹 프로그래밍  (0) 2011.02.25
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday