⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 controller.cpp

📁 选择排序
💻 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 + -