비행 정보의 배열과 비행 횟수를 정렬 기능에 전달 중입니다. 비행 배열 내에 비행 ID가 있습니다 (예 : (H100.15005)). 목표는 비행 정보를 기준으로 비행 정보를 오름차순으로 정렬하는 것입니다. 거품 정렬 기능을 수정하려면 어떻게해야합니까?C에서이 버블 정렬 기능을 어떻게 해결할 수 있습니까?
언어 : C 플랫폼 : Mac OS X의 가상 컴퓨터 : 우분투 (64 비트) 16.04 LTS 편집기 : Vim 7.4 제약 조건 : 기본 정렬 알고리즘을 사용해야합니다.
는 여기에 이전 및 코드와 함께 출력을 정렬 한 후 :
Initial Flights
Flight Id From Dest Depart Avail Unit Price
H100.15005 SAT HOU 08:00 4 65.00
H111.15009 SAT HOU 17:00 10 65.00
H555.15022 SAT DFW 08:00 70 70.00
H444.15015 ATL NYC 08:00 10 130.00
H200.15010 ATL HOU 08:00 20 120.00
H222.15005 HOU ATL 10:00 15 125.00
H333.15010 ATL NYC 13:00 20 130.00
H444.15001 ATL NYC 08:00 10 130.00
H100.15006 SAT HOU 08:00 12 65.00
H333.15012 ATL NYC 12:55 60 130.00
H666.15020 NYC ATL 01:45 50 140.00
Sorted Flights
Flight Id From Dest Depart Avail Unit Price
H100.15005 SAT HOU 08:00 4 65.00
H111.15009 SAT HOU 17:00 10 65.00
H555.15022 SAT DFW 08:00 70 70.00
H444.15015 ATL NYC 08:00 10 130.00
H200.15010 ATL HOU 08:00 20 120.00
H222.15005 HOU ATL 10:00 15 125.00
H333.15010 ATL NYC 13:00 20 130.00
H444.15001 ATL NYC 08:00 10 130.00
H100.15006 SAT HOU 08:00 12 65.00
H333.15012 ATL NYC 12:55 60 130.00
H666.15020 NYC ATL 01:45 50 140.00
void sortFlights(Flight flightM[], int iFlightCnt) {
int i;
int j;
Flight flightIdTemp;
for(i = 0; i < (iFlightCnt - 1); i++) {
for(j = (iFlightCnt - 1); j > i; j--) {
if(flightM[j-1].szFlightId > flightM[j].szFlightId) {
flightIdTemp = flightM[j-1];
flightM[j-1] = flightM[j];
flightM[j] = flightIdTemp;
}
}
}
}
게시물을 편집하여 현재 구현에 대한 잘못된 설명을 포함 할 수 있습니까? – fractalwrench
는'>'대신'strcmp'를 사용합니다. – BLUEPIXY