У меня есть следующий код, который сортируется только для одного столбца, я хочу сортировать по нескольким столбцам, например, имя и фамилию последнего. Я хочу отметить, что я попробовал добавить еще один strcmp statment с & &, но он не дал правильного результата. Вот мой код:Bubble сортировать для множества столбцов?
struct Car tempCar;
tempCar.CarMake = (char*)malloc(200 *sizeof(char));
tempCar.CarMakeYear = (char*)malloc(200 *sizeof(char));
tempCar.CarModel = (char*)malloc(200 *sizeof(char));
tempCar.Occurances = 0;
int g, didSwap = 1, limit = newCarsCounter - 1;
//Sort by make
while (didSwap) {
didSwap = 0;
for (g = 0; g < newCarsCounter; g++) {
if ((strcmp (newCars[g].CarMake, newCars[g+1].CarMake) > 0))
{
tempCar.CarMake = newCars[g].CarMake;
tempCar.CarModel = newCars[g].CarModel;
tempCar.CarMakeYear = newCars[g].CarMakeYear;
tempCar.Occurances = newCars[g].Occurances;
newCars[g].CarMake = newCars[g+1].CarMake;
newCars[g].CarModel = newCars[g+1].CarModel;
newCars[g].CarMakeYear = newCars[g+1].CarMakeYear;
newCars[g].Occurances = newCars[g+1].Occurances;
newCars[g+1].CarMake = tempCar.CarMake;
newCars[g+1].CarModel = tempCar.CarModel;
newCars[g+1].CarMakeYear = tempCar.CarMakeYear;
newCars[g+1].Occurances = tempCar.Occurances;
didSwap = 1;
}
}
limit--;
}