我想在C#中計算冒泡排序算法的時間。但它總是給出0.這是我的代碼。如何獲得以毫秒爲單位的時間?
public void bubbleSort(int[] arr, ref double time)
{
var sp = new Stopwatch();
sp.Start();
int temp = 0;
for (int i = 0; i < arr.Length; i++)
{
for (int sort = 0; sort < arr.Length - 1; sort++)
{
if (arr[sort] > arr[sort + 1])
{
temp = arr[sort + 1];
arr[sort + 1] = arr[sort];
arr[sort] = temp;
}
}
}
sp.Stop();
time = sp.Elapsed.Milliseconds*1000;
}
主要的時間總是0.我在這段代碼中犯了什麼錯誤。
您是否調試過代碼並查看「毫秒」值? –
如果你的數組不是很大,那麼你的算法可能需要不到1ms的時間來執行。 –
通常,爲了衡量時間,您運行algortithm數千次或數百萬次,因爲通常一次迭代花費的時間太少以至於無法測量。 – Alejandro