C++ Ödevimle ilgili yardıma ihtiyacım var

YalçınD.

MB Üyesi
Kayıt
10 Nisan 2020
Mesajlar
3
Tepkiler
0
Yaş
26
Meslek
Öğenci
Üniv
Başkent Üniversitesi
Insertion Sort sıralama algoritmasını gerçekleştiren kod bloğunu yazınız.
Random üretilen sayılarla büyüklüğü 10 olan bir dizi oluşturunuz.
Oluşturduğunuz diziyi insertion sort metoduna göndererek işlem yapınız. (sort algoritmasını main fonksiyonun içine yazmayınız, ilgili metodu çağırınız.)
Her geçişte değerleri ekrana yazdırınız.
Yazdığınız kodun T(n), O(?) değerlerini hesaplayıp, sonuçları yazınız.
Bu sıralama algoritmasını daha performanslı bir şekilde nasıl kodlayabilirdik, yorumlayınız?
Diğer sıralama algoritmaları ile –O- değeri üzerinden karşılaştırınız.
 

Seçkin Şenol

Özel Üye
Kayıt
31 Temmuz 2016
Mesajlar
155
Tepkiler
73
Yaş
55
Meslek
Elektr./Elektronik Mühendisi & Software Developer
Üniv
Elektr./Elektronik Mühendisi
/******************************************************************************

Insertion Sort sıralama algoritmasını gerçekleştiren kod bloğunu yazınız. --> Asagida

Random üretilen sayılarla büyüklüğü 10 olan bir dizi oluşturunuz. --> Asagida

Oluşturduğunuz diziyi insertion sort metoduna göndererek işlem yapınız. (sort algoritmasını main fonksiyonun içine yazmayınız, ilgili metodu çağırınız.)
Her geçişte değerleri ekrana yazdırınız. --> Asagida

Yazdığınız kodun T(n), O(?) değerlerini hesaplayıp, sonuçları yazınız. --> Sen yaparsin artik :)

Bu sıralama algoritmasını daha performanslı bir şekilde nasıl kodlayabilirdik, yorumlayınız? --> Sen yaparsin artik :)

Diğer sıralama algoritmaları ile –O- değeri üzerinden karşılaştırınız. --> Sen yaparsin artik :)

*******************************************************************************/

#include <iostream>
using namespace std;

//verileri outputa yazdir
void goester(int *array, int size)
{
for(int i = 0; i<size; i++)
{
cout << array << " ";
}

cout << endl;
}


//insertion sort algoritmasi
//Insertion Sort sıralama algoritmasını gerçekleştiren kod bloğunu yazınız.
void insertionSort(int *array, int size)
{
int key, j;
for(int i = 1; i<size; i++) {
key = array;//take value
j = i;
while(j > 0 && array[j-1]>key) {
array[j] = array[j-1];
j--;
}
array[j] = key; //insert in right place
}
}

int main()
{
//cout<<"Hello World";

//*************************************************************
//Random üretilen sayılarla büyüklüğü 10 olan bir dizi oluşturunuz.
//10 büyüklügünde int array olustur ve bunu random sayilari ile doldur
int maxSize=10;
int arrRandom[maxSize] = {};

for(int i=0;i<maxSize;i++)
{
//0-99 arasi random sayilari üret
arrRandom = rand() % 100;
}

//*************************************************************

//sorte etmeden önce
cout << "Sorte etmeden önce: "<<endl;
goester(arrRandom, maxSize);

//Oluşturduğunuz diziyi insertion sort metoduna göndererek işlem yapınız.
insertionSort(arrRandom, maxSize);

//sorte ettikten sonra
cout << "Sorte ettikten sonra: "<<endl;
goester(arrRandom, maxSize);


return 0;
}
 

Dosyalar

Yukarı Alt