Итак, все знают что есть такой вид сортировки, как пузырьковая. Меня интересует какие еще есть алгоритмы в этом виде сортировки кроме: последовательного и чет-нечетной перестановки? И если есть информация о них поделиться ей, если не жалко.
IUnknown, велосипед не придумывал выдернул код представленный с первой твоей ссылки))), но он оказался медленнее представленного тобой по последней ссылке.Походу по первой не совсем верный алгоритм.
// Function for allocating the memory and setting the initial values void ProcessInitialization(double *&pData, int& DataSize) { do { printf("Enter the size of data to be sorted: "); scanf("%d", &DataSize); if(DataSize <= 0) printf("Data size should be greater than zero\n"); } while(DataSize <= 0);
printf("Sorting %d data items\n", DataSize);
pData = new double[DataSize];
// Simple setting the data //DummyDataInitialization(pData, DataSize);
// Setting the data by the random generator RandomDataInitialization(pData, DataSize); }
// Function for computational process termination void ProcessTermination(double *pData) { delete []pData; }
// Function for simple setting the initial data void DummyDataInitialization(double*& pData, int& DataSize) { for(int i = 0; i < DataSize; i++) pData[i] = DataSize - i; }
// Function for initializing the data by the random generator void RandomDataInitialization(double *&pData, int& DataSize) { srand( (unsigned)time(0) );
for(int i = 0; i < DataSize; i++) pData[i] = double(rand()) / RAND_MAX * RandomDataMultiplier; }
// Serial bubble sort algorithm void SerialBubble(double *pData, int DataSize) { double Tmp;