Приведенная ниже программа демонстрирует, как использовать возможность
манипуляции элементами массива для их сортировки. В программе
применен алгоритм пузырьковой сортировки.
Писал по книжке)
манипуляции элементами массива для их сортировки. В программе
применен алгоритм пузырьковой сортировки.
Писал по книжке)
namespace BubbleSort { class Program { public static void OutputStudentArray(Student[] students) { foreach(Student s in students) { Console.WriteLine(s.GetString()); } } static void Main(string[] args) { Student[] students = new Student[5]; students[0] = Student.NewStudent("Homer", 0); students[1] = Student.NewStudent("Lisa", 4.0); students[2] = Student.NewStudent("Bart", 2.0); students[3] = Student.NewStudent("Marge", 3.0); students[4] = Student.NewStudent("Maggie", 3.5); Console.WriteLine("До сортировки"); OutputStudentArray(students); Console.WriteLine("Сортировка"); Student.Sort(students); Console.WriteLine("Вывод отсортированного списка"); OutputStudentArray(students); Console.WriteLine("Нажмите <Enter>"); Console.ReadLine(); } } }
namespace BubbleSort { class Student { public string sName; public double dGrade = 0.0; public static Student NewStudent(string sName, double dGrade) { Student student = new Student(); student.sName = sName; student.dGrade = dGrade; return student; } public string GetString() { string s = ""; s += dGrade; s += " - "; s += sName; return s; } public static void Sort(Student[] students) { bool bRepeatLoop; do { bRepeatLoop = false; for (int index = 0; index < (students.Length - 1); index++) { if (students[index].dGrade < students[index + 1].dGrade) { Student to = students[index]; Student from = students[index + 1]; students[index] = from; students[index + 1] = to; bRepeatLoop = true; } } } while (bRepeatLoop); } } }
Комментариев нет:
Отправить комментарий