📄 quicksort.cc
字号:
/* quicksort.cc */#ifdef sgi #include "quicksort.h"#ifdef DEBUG#include <stdio.h>#include <string.h>#endif /* DEBUG */#else extern "C" { #include "quicksort.h"#ifdef DEBUG#include <stdio.h>#include <string.h>#endif /* DEBUG */ }#endif/* \ Based on C.A.R.Hoare's original \ algorithm of 1962...*/#ifdef DEBUGextern FILE *logFile;#endif /* DEBUG */void quicksort( float e[], int isort[], int left, int right ){ int i, last;#ifdef DEBUG char array[101];#endif /* DEBUG */ if (left >= right) { return; }#ifdef DEBUG strncpy( array, "----------------------------------------------------------------------------------------------------", (size_t)100 ); array[100] = '\0'; for (i=left+1; i<right; i++) array[i]=' '; array[left] = 'L'; array[right] = 'R'; fprintf( logFile, "%s\n", array );#endif /* DEBUG */ swap( isort, left, (left+right)/2 ); last = left; for (i = left+1; i <= right; i++) { if (e[isort[i]] < e[isort[left]]) { swap( isort, ++last, i ); } } swap( isort, (int)left, (int)last ); quicksort( e, isort, left, last-1 ); quicksort( e, isort, last+1, right );}/* EOF */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -