int main() //this program is used to test the speed of bubbleSort , selectSort , shellSort , insertSort { int a[100]={-100,10,4,2,342,2111,0,-2,31121,3131,1,212,12,313,423,54,8658,4,54,32,-223,424,-535,-555,-33,34,5,3,0,33,5332,-3333333,333333,434,532225,5600,33232,53333,-3323,0,0,22332,3235532,44,45,46,47,48,49,50,4142,3213,21213,12,2424,532,-343,31232,1233214,421245,3232432,1231312,42,0,42,4222,3,-424242424,4222,78900,776,72,73,74,454,64343,2234,113,1244,242,4333553,23432,83,49902,3323,-2324,-42442,-323,89,90,3333,323,44,2,2222,323,97,98,99,100}; int b[100]={-100,10,4,2,342,2111,0,-2,31121,3131,1,212,12,313,423,54,8658,4,54,32,-223,424,-535,-555,-33,34,5,3,0,33,5332,-3333333,333333,434,532225,5600,33232,53333,-3323,0,0,22332,3235532,44,45,46,47,48,49,50,4142,3213,21213,12,2424,532,-343,31232,1233214,421245,3232432,1231312,42,0,42,4222,3,-424242424,4222,78900,776,72,73,74,454,64343,2234,113,1244,242,4333553,23432,83,49902,3323,-2324,-42442,-323,89,90,3333,323,44,2,2222,323,97,98,99,100}; int c[100]={-100,10,4,2,342,2111,0,-2,31121,3131,1,212,12,313,423,54,8658,4,54,32,-223,424,-535,-555,-33,34,5,3,0,33,5332,-3333333,333333,434,532225,5600,33232,53333,-3323,0,0,22332,3235532,44,45,46,47,48,49,50,4142,3213,21213,12,2424,532,-343,31232,1233214,421245,3232432,1231312,42,0,42,4222,3,-424242424,4222,78900,776,72,73,74,454,64343,2234,113,1244,242,4333553,23432,83,49902,3323,-2324,-42442,-323,89,90,3333,323,44,2,2222,323,97,98,99,100}; int d[100]={-100,10,4,2,342,2111,0,-2,31121,3131,1,212,12,313,423,54,8658,4,54,32,-223,424,-535,-555,-33,34,5,3,0,33,5332,-3333333,333333,434,532225,5600,33232,53333,-3323,0,0,22332,3235532,44,45,46,47,48,49,50,4142,3213,21213,12,2424,532,-343,31232,1233214,421245,3232432,1231312,42,0,42,4222,3,-424242424,4222,78900,776,72,73,74,454,64343,2234,113,1244,242,4333553,23432,83,49902,3323,-2324,-42442,-323,89,90,3333,323,44,2,2222,323,97,98,99,100}; double start,end;int i; start=(double)clock(); bubbleSort(a,100); end=(double)clock(); printf("bubbleSort time is %.2f\n",(end-start)/1000); start=(double)clock(); selectSort(b,100); end=(double)clock(); printf("selectSort time is %.2f\n",(end-start)/1000); start=(double)clock(); shellSort(c,100); end=(double)clock(); printf("shellSort time is %.2f\n",(end-start)/1000); start=(double)clock(); insertSort(d,100); end=(double)clock(); printf("insertSort time is %.2f\n",(end-start)/1000); start=(double)clock(); quickSort(d,100); end=(double)clock(); printf("quickSort time is %.2f\n",(end-start)/1000); }
int main(void) { std::vector<int> rdata = random_int(15); print(rdata, std::cout, '=', "Original arr"); std::vector<int> trdata = rdata; bubbleSort(trdata); print(trdata, std::cout, '=', "bubble sort"); trdata = rdata; insertSort(trdata); print(trdata, std::cout, '=', "insert sort"); trdata = rdata; selectSort(trdata); print(trdata, std::cout, '=', "select sort"); trdata = rdata; mergeSort(trdata); print(trdata, std::cout, '=', "merge sort"); trdata = rdata; quickSort(trdata); print(trdata, std::cout, '=', "quick sort"); return 0; }
int main() { int v[] = {7,13,10,2,5,8,1}; int n = 7; int i; for(i=0;i<n;i++) printf("%d ", v[i]); printf("\n"); selectSort(v,n); for(i=0;i<n;i++) printf("%d ",v[i]); }
int main(){ int data[10] = {9,6,3,2,5,8,4,7,1,0}; int i; selectSort(data,10); for(i = 0; i < 10; i ++) printf("%d ",data[i]); printf("\n"); return 0; }
int main() { FILE *fp1 = fopen("a.txt", "r"); if (!fp1) { printf("error:%s\n", strerror(errno)); return -1; } else { char buf[128];//存放从文件中读入的一行文本 memset(buf, 0, sizeof(buf)); int i = 0;//存放读入行号次数,即数字的个数 int a[100] = {0};//存放要排序的数字 while(fgets(buf, sizeof(buf), fp1))//每次读取一行,将其转换成整数存放到数组中 { a[i++] = atoi(buf); memset(buf, 0, sizeof(buf)); } fclose(fp1); selectSort(a, i);//排序 FILE *fp2 = fopen("b.txt", "w"); if (!fp2) { printf("error:%s\n", strerror(errno)); return -1; } else { int n = 0; for (; n < i; n++) { char buf[128]; memset(buf, 0, sizeof(buf)); sprintf(buf, "%d\n", a[n]);//将数字存放到buf中,然后写入文件 fputs(buf, fp2); } fclose(fp2); } } return 0; }
//select sort void main() { int a[10],i; for(i=0;i<10;i++) scanf("%d",&a[i]); selectSort(a,10); printf("sorted :\n"); for(i=0;i<10;i++) printf(" %d",a[i]); }
int main(int argc, const char * argv[]) { int a[] = {6,1,4,9,0,3}; selectSort(a,6); for (int i = 0; i < 6 ; i++) { printf("%d ",a[i]); } return 0; }
int main(int argc, char const *argv[]) { int a[] = {2, 1, 3, 5, 7, 6, 8, 9, 10, 2, 4}; selectSort(a, sizeof(a) / sizeof(int)); for (unsigned int i = 0; i < sizeof(a) / sizeof(int); ++i) { printf("%d\t", *(a + i)); } printf("\n"); return 0; }
void testSelectSort() { int sortArray1[]={3,5,8,9}; int sortArray2[]={-5,-2,5,10,20}; int sortArray3[]={2,3,5,5}; int disOArray[]={5,9,8,3}; int revOArray[]={9,8,5,3}; int negArray[]={-5,5,10,-2,20}; int repArray[]={5,2,3,5}; printf("Test selectSort\n"); printf("Test Disordered Array.\n"); assert(memcmp(selectSort(disOArray,4),sortArray1,sizeof(disOArray))==0); printf("Test Reverse Ordered Array.\n"); assert(memcmp(selectSort(revOArray,4),sortArray1,sizeof(revOArray))==0); printf("Test Negatives in Array.\n"); assert(memcmp(selectSort(negArray,5),sortArray2,sizeof(negArray))==0); printf("Test Empty Array.\n"); assert(selectSort(NULL,1)==NULL); printf("Test Repeats in Array.\n"); assert(memcmp(selectSort(repArray,4),sortArray3,sizeof(repArray))==0); printf("Test Ordered Array.\n"); assert(memcmp(selectSort(sortArray1,4),sortArray1,sizeof(sortArray1))==0); printf("Tests Passed\n"); }
int main (void) { /* Local Definitions */ int ary[SIZE]; int *pLast; /* Statements */ pLast = getData (ary, SIZE); selectSort (ary, pLast); printData (ary, pLast); return 0; } /* main */
int main(int argc, char const *argv[]) { int arr[N], index; srand(time(NULL)); for(index = 0; index < N; ++index) { arr[index] = rand() % 100 + 1; } show(arr, N); selectSort(arr, N); show(arr, N); return 0; }
int main() { int N = 7; int i; int *a = malloc(N * sizeof(int)); for (i = 0; i < N; i++) { int s; klee_make_symbolic(&s, sizeof(s), "s"); a[i] = s; } //int a[] = {0, 0, 0}; selectSort(a, N); free(a); return 0; }
//╡Бйт int main() { int i; int databuf[] = {10, 5, 6, 1, 0, 8, 11, 23, 14}; selectSort(databuf, sizeof(databuf)/sizeof(int)); for (i=0; i<sizeof(databuf)/sizeof(int); i++) { printf("%d ", databuf[i]); } getchar(); return 0; }
void selectSort(int *a, int length){ int min = *a; int ix = 0; for (int i = 0; i < length; ++i){ if (*(a + i) < min) { min = *(a + i); ix = i; } } if(ix != 0){ swap(a, a + ix); } if (length > 0) { selectSort(a + 1, length -1); } }
int main(int argc, const char * argv[]) { int a[10]; randomArrayGeneration(a, 10, 100); //bubbleSort(a, 0, 9); //bubbleSortWithFlag(a, 0, 9); //insertSort(a, 0, 9); //shellSort(a, 0, 9); selectSort(a, 0, 9); //quickSort(a, 0, 9); for (int i = 0; i < 10; i ++) { printf("%d, ", a[i]); } return 0; }
int main(void) { setlocale(LC_ALL, ".1251");// Русификация // Создание входящего потока и его открытие ifstream inStream("readme.txt"); // Проверка на открытие файла if (!inStream.is_open()) { cout << "Ошибка открытия файла file.txt" << endl; system("pause"); exit(1); } // Создание динамического массива NOTE NOTE *notes = new NOTE[8]; char tmpSurname[200];// Временная переменная фамилии int tmpPhoneNumber(0);// Временная переменная номера телефона int tmpBirthday[3] = { 0 };// Временная переменная даты рождения char tmpSeparator(' ');// Символ разделяющий дату рождения // Цикл чтения из файла for (int i = 0; i < 8; i++) { // Считывание данных во временные переменные inStream >> tmpSurname >> tmpPhoneNumber >> tmpBirthday[0] >> tmpSeparator >> tmpBirthday[1] >> tmpSeparator >> tmpBirthday[2]; // Создание временного объекта NOTE NOTE tmpNote(tmpSurname, tmpPhoneNumber, tmpBirthday[0], tmpBirthday[1], tmpBirthday[2]); // Вставка временного объекта в массив notes notes[i] = tmpNote; } // Закрываем поток inStream.close(); /* Вывод массива до сортировки */ cout << endl << "Вывод массива до сортировки: " << endl << endl; for (int i = 0; i < 8; i++) notes[i].show(); // Сортируем массив NOTE selectSort(notes, 8); /* Вывод массива после сортировки */ cout << endl << "Вывод массива после сортировки: " << endl << endl; for (int i = 0; i < 8; i++) notes[i].show(); // Ввод месяца cout << "Введите пожалуйста фамилию для сравнения: "; cin >> tmpSurname; // Преобразование символов из иероглифов в русскую раскладку OemToCharA(tmpSurname, tmpSurname); // Очистка экрана system("cls"); // Поиск информации for (int i = 0, count = 0; i <= 8; i++) { // Если пройдясь по всем записям и не нашлось ни одного совпадения if ((i == 8) && count == 0) cout << "Нет соответствующей записи" << endl; // Если прошлись по всем записям и нашлись совпадения else if (i == 8 && count != 0) break; // Если не закончились записи, ищем совпадения else if (notes[i] == tmpSurname) { // Вывод notes[i].show(); // Увеличение счётчика count++; } } // Приостановка программы для просмотра результата system("pause"); return NULL;// Передача управления операционной системе }
int main(){ int testcase =0; int i, j=0, n, m; int N, M; double double **table; double double *resultTable; double double result; double double *low_point_table; double double lowpoint; scanf("%d", &testcase); scanf("%d %d", &N, &M); for (i = 0 ; i < testcase; i++){ resultTable = (double double*)malloc(sizeof(double double)*M); for (m = 0; m < M; m++){ resultTable[m] = 0; } table = (double double**)malloc(sizeof(double double)*N); for ( n = 0; n < N; n ++) table[n] = (double double*)malloc(sizeof(double double)*(M * 2)); for (n = 0; n < N; n++){ for (m = 0; m < M*2; m++) scanf("%d", &table[n][m]); } for (n = 0; n < N; n++){ for (m = 0; m < M * 2; m++){ if (m % 2 != 1){ resultTable[j] += table[n][m]; // printf(" %d += %d ", resultTable[j], table[n][m]); } else{ resultTable[j] -= table[n][m]; j++; //printf(" %d -= %d ", resultTable[j], table[n][m]); } } j = 0; //printf("\n"); } /// 포인트 가장 작은거 찾아서 더하기만 하면 됨 for (m = 1; m < M * 2; m=m+2){ low_point_table = (double double*)malloc(sizeof(double double)*N); for (n = 0; n < N; n++){ low_point_table[n] = table[n][m]; } lowpoint = selectSort(low_point_table, N); //printf("%d ", lowpoint); resultTable[j] += lowpoint; j++; free(low_point_table); } result = selectSort(resultTable, M); printf("%d", result); } return 0; }
int test_algorithm() { int len[]={1, 2, 10, 100, 200, 300, 400, 500, 600, 1000}; int num=sizeof(len) / sizeof(int); int i, j, *number_rand, *number_order, *temp, *number_test; for(i = 0; i < num; i++) { number_rand = calloc(sizeof(int), len[i]); number_order = calloc(sizeof(int), len[i]); number_test = calloc(sizeof(int), len[i]); temp = calloc(sizeof(int), len[i]); for (j = 0; j<len[i]; j++) { *(number_rand + j) = rand() * 1000 + rand(); *(number_order + j) = j; } memcpy(number_test, number_rand, sizeof(int) * len[i]); quickSort(number_test, 0, len[i] - 1); test_array(number_test, len[i], "quickSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); quickSort(number_test, 0, len[i] - 1); test_array(number_test, len[i], "quickSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); mergeSort(number_test, 0, len[i]-1, temp); test_array(number_test, len[i], "mergeSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); mergeSort(number_test, 0, len[i]-1, temp); test_array(number_test, len[i], "mergeSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); insertSort(number_test, len[i]); test_array(number_test, len[i], "insertSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); insertSort(number_test, len[i]); test_array(number_test, len[i], "insertSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); ShellSort(number_test, len[i]); test_array(number_test, len[i], "ShellSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); ShellSort(number_test, len[i]); test_array(number_test, len[i], "ShellSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); bubbleSort(number_test, len[i]); test_array(number_test, len[i], "bubbleSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); bubbleSort(number_test, len[i]); test_array(number_test, len[i], "bubbleSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); selectSort(number_test, len[i]); test_array(number_test, len[i], "selectSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); selectSort(number_test, len[i]); test_array(number_test, len[i], "selectSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); heapSort(number_test, len[i]); test_array(number_test, len[i], "heapSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); heapSort(number_test, len[i]); test_array(number_test, len[i], "heapSort"); memcpy(number_test, number_rand, sizeof(int) * len[i]); binSort(number_test, len[i]); test_array(number_test, len[i], "binSort"); memcpy(number_test, number_order, sizeof(int) * len[i]); binSort(number_test, len[i]); test_array(number_test, len[i], "binSort"); } printf("test algorithm finish\n"); free(number_rand); free(number_order); free(temp); free(number_test); }
int main() { //本例中所有的排序都是升序 int a[] = {10, 2, 3,56, 25, 1, 1, 45, 45, 78, 10}; int b[] = {2, 3, 5, 6}; printf("The orginal sequence:\n"); int num = sizeof(a)/sizeof(int); print(a, num); #if 0 // for bubble sort printf("The ordered sequence by bubbleSort:\n"); bubbleSort2(a, num); print(a, num); #endif #if 0 // for select sort printf("The ordered sequence by insertSort:\n"); selectSort(a, num); print(a, num); #endif #if 0 // for insert sort printf("The ordered sequence by insertSort:\n"); insertSort(a, num); print(a, num); #endif #if 0 // for shell sort printf("The ordered sequence by shellSort:\n"); shellSort(a, num); print(a, num); #endif #if 0 // for quick sort printf("The ordered sequence by quickSort:\n"); quickSort(a, num); print(a, num); #endif #if 0 // for binary searh tree sort Tree *root = create(a, num); printf("The ordered sequence by binary search tree:\n"); printTree(root); printf("\n"); freeTree(root); //函数中申请的动态内存,也需要显式地释放 #endif #if 0 // for merge sort printf("The ordered sequence by mergeSort:\n"); mergeSort(a, num); print(a, num); #endif #if 1 // for heap sort printf("The ordered sequence by heapSort:\n"); heapSort(a, num); print(a, num); #endif return 0; }
void testInsertSort() { myRDT d[N]={{49,1},{38,2},{65,3},{97,4},{76,5},{13,6},{27,7},{49,8}}; mySQLIST l1,l2,l3,l4,l5,l6,l7,l8,l9; int i ; for(i=0;i<N;++i) l1.r[i+1]=d[i]; l1.length=N; l2=l3=l1; l5=l1; l6=l1; l7=l1; l8=l1; l9=l1; printf("еепРг╟:\n"); print(l1); insertSort(l1); printf("ж╠╫с╡ЕхКеепР╨С:\n"); print(l1); BInsertSort(l2); printf("уш╟К╡ЕхКеепР╨С:\n"); print(l2); printf("2_б╥╡ЕхКеепР╨С:\n"); p2_insertSort(l3); print(l3); mySLKT sl1,sl2; int *adr; tableInsert(sl1,d,N); sl2=sl1; printf("еепРг╟:\n"); print2(sl1); arrange(sl1); printf("l1еепР╨С:\n"); print2(sl1); adr=(int *)malloc((sl2.length+1)*sizeof(int)); sort(sl2,adr); for(i=1;i<=sl2.length;++i) printf("adr[%d]=%d ",i,adr[i]); printf("\n"); rearrange(sl2,adr); printf("l2еепР╨С:\n"); print2(sl2); int dt[]={5,3,1}; for(i=0;i<N;++i) l4.r[i+1]=d[i]; l4.length=N; printf("еепРг╟: \n"); shellSort<int>(l4,dt,3,print); printf("еепР╨С: "); print(l4); int d1[N]= {1,2,4,5,6,77,88,99}; //{49,38,65,97,76,13,27,49}; printf("еепРг╟:\n"); print3(d1,N); printf("еепР╨С:\n"); bubble_sort(d1,N,print3); printf("©ЛкыеепР╨С: \n"); quickSort(l5); print(l5); printf("я║тЯеепР╨С: \n"); selectSort(l6); print(l6); printf("йВпня║тЯеепР╨С: \n"); treeSort(l7); print(l7); printf("╤яеепР╨С: \n"); heapSort(l8); print(l8); printf("╧И╡╒еепР╨С: \n"); mergeSort(l9); print(l9); myRDT d3[N+2]={{278,1},{109,2},{63,3},{930,4},{589,5},{184,6},{505,7},{269,8},{8,9},{83,10}}; mySLLIST l10; int *adr1; intiList1_(l10,d3,N+2); printf("еепРг╟(nextсР╩╧ц╩╦Ёж╣):\n"); print5(l10); radixSort<int>(l10,print4); printf("еепР╨С(╬╡л╛а╢╠М):\n"); print5(l10); adr1=(int*)malloc(l10.recnum*sizeof(int)); sSort(l10,adr1); sRearrange(l10,adr1); printf("еепР╨С(жьее╪гб╪):\n"); print5(l10); }