📄 controller.cpp
字号:
#include "StdAfx.h"
#include "time.h"
#include "Controller.h"
#include "Algorithms.h"
void bestSituation(int arrayOfElements[], int numbersOfElements){
for (int i = 0; i <= numbersOfElements - 1; i++){
arrayOfElements[i] = i;
}
}
void randomSituation(int arrayOfElements[], int numbersOfElements){
bestSituation(arrayOfElements, numbersOfElements);
for (int i = 0; i<= numbersOfElements - 1; i++){
swap(arrayOfElements, i, genRandomNumber(0, numbersOfElements - 1));
}
}
void worstSituation(int arrayOfElements[], int numbersOfElements){
int tmpInti = 0;
for (int i = numbersOfElements - 1; i >= 0; i--){
arrayOfElements[tmpInti] = i;
tmpInti++;
}
}
int genRandomNumber(int from, int to){
if (from==to)
to++;
return (rand()%(to - from)) + from;
}
bool readData(CString sourceFile, int B[]){
FILE *input;
input = fopen(sourceFile, "r");
if(input == NULL) return false;
int intTmp = 0;
CString CStNumber;
char chrNumber[50];
int intNumber = 0;
while(fgets(chrNumber, sizeof(chrNumber), input))
{
CStNumber = ((CString)chrNumber);
CStNumber.Delete(CStNumber.GetLength() - 1, 1);
intNumber = atoi(CStNumber);
B[intTmp] = intNumber;
intTmp++;
}
fclose(input);
return true;
}
bool writeData(CString sourceFile, int B[], const int sizeOfB){
FILE *output;
output = fopen(sourceFile, "w");
/* char* ptChrTmp[sizeOfB];
char ChrTmp1[20];
int i = 0;
for (; i <= sizeOfB -1; i++){
ptChrTmp[i] = (char*)malloc(sizeof(char)*20);
}
for (i = 0; i <= sizeOfB - 1; i++){
// sprintf(ptChrTmp[i], "%d", B[i]);
itoa(B[i], ChrTmp1, 10);
strcpy(ptChrTmp[i], ChrTmp1);
}
*/
char ChrTmp1[18];
int i = 0;
for (; i<= sizeOfB - 1; i++){
itoa(B[i], ChrTmp1, 10);
strcat(ChrTmp1, "\n");
fputs(ChrTmp1, output);
}
fclose(output);
return true;
}
double timeOf(int arrayA[], int intN, void (*pfFunction)(int A[], int n)){
clock_t tStart,tEnd;
double totalTime;
tStart = clock();
// Put runnable code here.
(*pfFunction)(arrayA, intN);
tEnd = clock();
totalTime = (double)(tEnd-tStart)/CLOCKS_PER_SEC;
return totalTime;
}
void arraycpy(int aimArray[], int sourceArray[]){
for (int i = 0; i < (sizeof(sourceArray)/sizeof(sourceArray[0])) - 1; i++){
aimArray[i] = sourceArray[i];
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -