sort (Bubble sort\ Selection sort\ Insertion sort
程式作業YTC
c_cpp
4 years ago
2.3 kB
9
Indexable
//
// main.cpp
// codehomework #04
//
// Created by YTC on 2022/3/23.
//
//selection sort
//insertion sort
//bubble sort
#include <iostream>
using namespace std;
void print_the_array(int *arr, int length){
for(int i = 0 ; i < length ; i++){
cout<< arr[i]<<" " ;
}
cout << endl;
}
void swap(int *xp , int *yp){
int temp = *xp;
*xp = *yp;
*yp = temp;
}
void insertion_sort(int *arr, int size){
int i = 1, key = 0;
for(i = 1; i < size ; i++)
{
key = arr[i];
int j = i;
while(j > 0 && arr[j-1] > key){
{
arr[j] = arr[j-1];
j--;
}
arr[j] = key;
}
}
}
void selection_sort(int *arr, int size){
int i, j, imin;
for(i = 0 ; i < size-1 ; i++){
imin = i;
for(j = i + 1; j <size ; j++){
if(arr[j] < arr[imin]){
imin = j;
swap(arr[i], arr[imin]);
}
}
}
}
void bubble_sort(int arr[] , int size){
int i, j;
bool swapped;
for(i =0 ; i < size ; i++){
swapped = false;
for(j = 0 ; j < size-i-1; j++){
if( arr[j] >arr[j+1]){
swap( &arr[j], &arr[j+1]);
swapped = true;
}
}
if(swapped == false){
break;
}
}
}
int main(int argc, const char * argv[]) {
int arr[10], arraysize=10;
cout<<"Input the ten numbers into the array:";
for(int i = 0; i < arraysize ; i++){
cin>> arr[i];
}
cout << "Unsorted array: " <<endl;
int length = sizeof(arr)/sizeof(arr[0]);//size of array with 9 values contains 9 integer. As we all know, the size of an integer is 4 bits. So, size of an array with 9 values equals to 9 times 4 bits equals to 36 bits. This is the way we get the length of an array.
print_the_array(arr,length);
bubble_sort(arr, length);
cout<<"Bubble sorted array: "<< endl;
for(int i = 0 ; i < length ; i++){
cout<< arr[i]<<" " ;
}
cout << endl;
insertion_sort(arr, length);
cout << "Insertion Sorted array: " << endl;
print_the_array(arr,length);
cout << "Selection Sorted array: " << endl;
print_the_array(arr, length);
return 0;
}Editor is loading...