//Nathan Dominguez CSC5 Chapter 8, P.488, #6
//
/*******************************************************************************
*
* Modify Selection Sort
* _____________________________________________________________________________
* This program sorts 20 names and displays them before and after they are
* sorted. They are sorted by a selection array.
* _____________________________________________________________________________
* INPUT
*
* OUTPUT
* names : The names in the array
*****************************************************************************/
#include <iostream>
#include <iomanip>
#include <string>
using namespace std;
const int NUM_NAMES = 20 ; //amount of names in the array
void selectionSort( string[ ] , int ) ; //sorts names
void Display( const string[ ] , int ) ; //displays names
int main( ) {
//
//initalized array with 20 names
string names[ NUM_NAMES] = { "Collins, Bill" , "Smith, Bart" , "Allen, Jim" ,
"Griffin, Jim" , "Stamey, Marty" , "Rose, Geri" , "Taylor, Terri" ,
"Johnson, Jill" , "Allison, Jeff" , "Looney, Joe" , "Wolfe, Bill" ,
"James, Jean" , "Weaver, Jim" , "Pore, Bob" , "Rutherford, Greg" ,
"Javens, Renee" , "Harrison, Rose" , "Setzer, Cathy" , "Pike, Gordon" ,
"Holland, Beth" } ;
//
//calls functions Display and selectionSort
Display( names, NUM_NAMES) ;
selectionSort( names, NUM_NAMES) ;
Display( names, NUM_NAMES) ;
return 0 ;
}
//
//sorts the names with selection sort
void selectionSort( string array[ ] , int NUM_NAMES) {
int start;
int mIndex;
string MinV;
for ( start = 0 ; start < ( NUM_NAMES - 1 ) ; start++ ) {
mIndex = start;
MinV = array[ start] ;
for ( int index = start + 1 ; index < NUM_NAMES; index++ ) {
if ( array[ index] < MinV) {
MinV = array[ index] ;
mIndex = index;
}
}
array[ mIndex] = array[ start] ;
array[ start] = MinV;
}
}
//
//displays the names
void Display( const string array[ ] , int size) {
for ( int count = 0 ; count < size; count++ ) {
cout << array[ count] << endl;
}
cout << endl << endl << endl << endl << endl << endl;
}
Ly9OYXRoYW4gRG9taW5ndWV6CQkJICAgCQlDU0M1CQkJCSAgICBDaGFwdGVyIDgsIFAuNDg4LCAjNgovLwovKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKgogKiAKICogTW9kaWZ5IFNlbGVjdGlvbiBTb3J0CiAqIF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCiAqIFRoaXMgcHJvZ3JhbSBzb3J0cyAyMCBuYW1lcyBhbmQgZGlzcGxheXMgdGhlbSBiZWZvcmUgYW5kIGFmdGVyIHRoZXkgYXJlCiAqIHNvcnRlZC4gVGhleSBhcmUgc29ydGVkIGJ5IGEgc2VsZWN0aW9uIGFycmF5LgogKiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwogKiBJTlBVVAogKgogKiBPVVRQVVQKICogICBuYW1lcwkJOiBUaGUgbmFtZXMgaW4gdGhlIGFycmF5CiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8KI2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8aW9tYW5pcD4KI2luY2x1ZGUgPHN0cmluZz4KdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIApjb25zdCBpbnQgTlVNX05BTUVTID0gMjA7CQkgICAvL2Ftb3VudCBvZiBuYW1lcyBpbiB0aGUgYXJyYXkKdm9pZCBzZWxlY3Rpb25Tb3J0KHN0cmluZ1tdLCBpbnQpOyAvL3NvcnRzIG5hbWVzCnZvaWQgRGlzcGxheShjb25zdCBzdHJpbmdbXSwgaW50KTsgLy9kaXNwbGF5cyBuYW1lcwppbnQgbWFpbigpIHsKLy8KLy9pbml0YWxpemVkIGFycmF5IHdpdGggMjAgbmFtZXMKCXN0cmluZyBuYW1lc1tOVU1fTkFNRVNdID0geyAiQ29sbGlucywgQmlsbCIsICJTbWl0aCwgQmFydCIsICJBbGxlbiwgSmltIiwKCQkJIkdyaWZmaW4sIEppbSIsICJTdGFtZXksIE1hcnR5IiwgIlJvc2UsIEdlcmkiLCAiVGF5bG9yLCBUZXJyaSIsCgkJCSJKb2huc29uLCBKaWxsIiwgIkFsbGlzb24sIEplZmYiLCAiTG9vbmV5LCBKb2UiLCAiV29sZmUsIEJpbGwiLAoJCQkiSmFtZXMsIEplYW4iLCAiV2VhdmVyLCBKaW0iLCAiUG9yZSwgQm9iIiwgIlJ1dGhlcmZvcmQsIEdyZWciLAoJCQkiSmF2ZW5zLCBSZW5lZSIsICJIYXJyaXNvbiwgUm9zZSIsICJTZXR6ZXIsIENhdGh5IiwgIlBpa2UsIEdvcmRvbiIsCgkJCSJIb2xsYW5kLCBCZXRoIiB9OwovLwovL2NhbGxzIGZ1bmN0aW9ucyBEaXNwbGF5IGFuZCBzZWxlY3Rpb25Tb3J0CglEaXNwbGF5KG5hbWVzLCBOVU1fTkFNRVMpOwoJc2VsZWN0aW9uU29ydChuYW1lcywgTlVNX05BTUVTKTsKCURpc3BsYXkobmFtZXMsIE5VTV9OQU1FUyk7CiAKCXJldHVybiAwOwp9Ci8vCi8vc29ydHMgdGhlIG5hbWVzIHdpdGggc2VsZWN0aW9uIHNvcnQKdm9pZCBzZWxlY3Rpb25Tb3J0KHN0cmluZyBhcnJheVtdLCBpbnQgTlVNX05BTUVTKSB7CglpbnQgc3RhcnQ7CglpbnQgbUluZGV4OwoJc3RyaW5nIE1pblY7CiAKCWZvciAoc3RhcnQgPSAwOyBzdGFydCA8IChOVU1fTkFNRVMgLSAxKTsgc3RhcnQrKykgewoJCW1JbmRleCA9IHN0YXJ0OwoJCU1pblYgPSBhcnJheVtzdGFydF07CgkJZm9yIChpbnQgaW5kZXggPSBzdGFydCArIDE7IGluZGV4IDwgTlVNX05BTUVTOyBpbmRleCsrKSB7CgkJCWlmIChhcnJheVtpbmRleF0gPCBNaW5WKSB7CgkJCQlNaW5WID0gYXJyYXlbaW5kZXhdOwoJCQkJbUluZGV4ID0gaW5kZXg7CgkJCX0KCQl9CgkJYXJyYXlbbUluZGV4XSA9IGFycmF5W3N0YXJ0XTsKCQlhcnJheVtzdGFydF0gPSBNaW5WOwoJfQp9Ci8vCi8vZGlzcGxheXMgdGhlIG5hbWVzCnZvaWQgRGlzcGxheShjb25zdCBzdHJpbmcgYXJyYXlbXSwgaW50IHNpemUpIHsKCWZvciAoaW50IGNvdW50ID0gMDsgY291bnQgPCBzaXplOyBjb3VudCsrKSB7CgkJY291dCA8PCBhcnJheVtjb3VudF0gPDwgZW5kbDsKCX0KCWNvdXQgPDwgZW5kbCA8PCBlbmRsIDw8IGVuZGwgPDwgZW5kbCA8PCBlbmRsIDw8IGVuZGw7Cn0=
stdout
Collins, Bill
Smith, Bart
Allen, Jim
Griffin, Jim
Stamey, Marty
Rose, Geri
Taylor, Terri
Johnson, Jill
Allison, Jeff
Looney, Joe
Wolfe, Bill
James, Jean
Weaver, Jim
Pore, Bob
Rutherford, Greg
Javens, Renee
Harrison, Rose
Setzer, Cathy
Pike, Gordon
Holland, Beth
Allen, Jim
Allison, Jeff
Collins, Bill
Griffin, Jim
Harrison, Rose
Holland, Beth
James, Jean
Javens, Renee
Johnson, Jill
Looney, Joe
Pike, Gordon
Pore, Bob
Rose, Geri
Rutherford, Greg
Setzer, Cathy
Smith, Bart
Stamey, Marty
Taylor, Terri
Weaver, Jim
Wolfe, Bill