日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

排序算法的性能比较

發布時間:2024/1/21 windows 46 coder
生活随笔 收集整理的這篇文章主要介紹了 排序算法的性能比较 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

寫在前面

菜雞博主最近放寒假了,打算接下來的一段時間內回顧一下以前學過的一些知識,也是為考研做一些準備吧。很菜,勿噴,希望能和大家一起學習,共同進步!

主要目標和具體要求

目標

排序對于數據處理是一項十分重要和基礎的工作。采用如下算法實現排序功能:插入排序、交換排序、選擇排序、歸并排序、基數排序等。統計每種排序算法的性能(以相同計算機運行程序所花費的時間為準進行對比),并將數據序列和不同算法的運行時間記錄到txt文件中。

要求

設計排序系統,能夠實現以下功能:

(1) 利用隨機函數產生N個隨機整數(50000以上);

(2) 對這些數字進行排序,包括遞增和遞減兩種形式;

(3) 分別采用插入、折半插入、2-路插入、希爾、冒泡、快速、選擇、錦標賽、堆、歸并、基數等排序算法解決問題;

(4) 對不同的排序算法進行性能比較并記錄結果。

環境

操作系統:Windows 11

編譯器:visual studio 2022

使用的頭文件:iostream, algorithm, ctime, cstdlib, cstring, fsteam

一些設計

1.Random函數

作用:生成范圍在l-r內的隨機數。

首先通過srand(time(0))設置時間種子,然后通過循環和語句rand()%(r-l+1)+1生成隨機數,隨機數的范圍為1-32767。

2.save函數

作用:文件操作

首先定義flag標記換行,然后打開文件,如果不存在文件則新建,通過time()記錄所用的時間,通過for循環輸出排序結果(其中flag換行是通過每記錄一個數據使flag自加,當flag==100時使用endl語句換行,同時重置flag=0),在輸出完所有內容后關閉文件。

3.直接插入排序

將第一個元素看作是一個有序序列,后面n-1個元素看作無序序列,對后面未排序序列中第一個元素在這個有序序列中進行從后向前的掃描,找到合適的位置進行插入,將有序序列長度+1。循環操作,知道未排序序列長度為0。當前插入元素與有序序列中元素相等時,插入到相等元素后。

4.折半插入排序

運用二分查找,定義temp來記錄當前待插元素在有序序列中的合適位置,對temp進行后移,在temp位置插入待插元素。

5.2-路插入排序

2-路插入排序是對插入排序的改進,通過在首尾同時進行插入,使用臨時數組tmp,定義front和rear記錄tmp數組中當前的最大值和最小值位置。如果當前插入元素比最小的要小,更新最小值位置,并且將最小值重新賦值;如果當前插入元素比最大的要大,更新最大值位置,并且將最大值重新賦值;如果在最大和最小之間,將比當前插入值大的進行后移,然后插入,同時更新最大值位置,最后將臨時數組復制到原數組中。

6.希爾排序

選擇一個增量序列\(t_1t_2 \dots t_k\),其中\(t_i > t_j, t_k =1\);按照增量序列個數k對序列進行k趟排序;每趟排序根據對應的增量![img](file:///C:/Users/wyy/AppData/Local/Temp/msohtmlclip1/01/clip_image004.png),將待排序列分割成若干長度為m的子序列,分別對各子表進行直接插入排序。僅增量因子為1時,整個序列作為一個表來處理,表長度即整個序列的長度。

7.快速排序

先從數列中取出一個數作為基準數;分區過程:將比這個數大的數全放到它的右邊,小于或等于它的數全放到它的左邊;對左右兩個區間重復第二步直到各區間只有一個數。本算法使用三數取中的方法取基準值:取序列中最左邊、中間、最右邊的三個數進行比較,以這三個數大小為中的元素作為基準值。

8.選擇排序

將比當前未排序序列的首位元素較小的數據元素交換到首位,最后每一趟比較都會將當前最小的元素交換到為排序序列的首位。改進后,通過定義min來確定未排序序列中的最小元素位置。

9.錦標賽排序

樹形選擇排序,由于其特殊性質,錦標賽排序構成的圖結構是滿二叉樹。定義一個tree[]數組來儲存滿二叉樹,錄入葉子節點(需要排序的所有元素),因為二叉樹某結點的下標為i,它的左右孩子節點下標必為2i+1和2i+2,因此比較葉子節點的值,可以得到父節點的值(兩個葉子節點的值較小的那個),每次得到當前最小值的時候,通過minindex在tree[]中找到最小值的地址,將其設為MAX。

10.堆排序

使用大根堆對數組進行正向排序。

首先將當前的無序數組構成一個無序堆,某結點的下標為i,它的左右孩子節點下標必為2i+1和2i+2,然后將當前的無序堆進行調整至大根堆形成。接著交換首位元素(將當前堆頂的最大元素交換到末尾,將此元素歸位。因為交換完首位元素后堆會再次變成一個無序堆,需要對剩余元素進行調整至重新變成大根堆。)重復操作至堆的大小為1完成堆排序。

11.歸并排序

將長度為n的序列分解成兩個長度為n/2的子序列,遞歸排序兩個連續子序列,合并兩個已經排序的連續子序列構成一個完整排序的序列。

12.基數排序

定義一個count[]數組(大小為10,下標0-9)用于統計每一位數字出現的次數,一個大小為n的臨時數組tmp[]用于儲存按照當前以為數字排序后的序列。進行d次排序,每次分配前先清空計數器,從低位開始,統計每一位數字出現的個數記錄到count[]中,由遞推式\(start[i]=start[i-1]+count[i-1]\)得到每一位數字第一次出現的位置。然后將每個元素按照當前的這一位數字放入對應的0-9的桶中,每一次將所有元素放入對應桶中后,根據start[]將其放到臨時數組tmp[],再將其拷貝到原數組中。重復上述步驟,當按照最高位放入桶中的操作完成后,再放回原數組。

13.計時

使用clock_t庫,定義start和end,將不同的排序算法寫在start和end之間,定義duration=(double)(end-start)/CLOCKS_PER_SEC來輸出需要的時間并打印。

源代碼

#include<iostream>
#include<algorithm>
#include<ctime>
#include<time.h>
#include<cstdlib>
#include<cstring> 
#include<fstream>
using namespace std;

#define random(x) rand() % (x)


void save(int a[], string str, double time)
{
	int flag = 0;//標記換行
	fstream f;
	f.open("data.txt", ios::out | ios::app);
	f << str << "所用的時間:" << time << "s" << endl;
	for (int i = 0; i < 50000; i++)
	{
		flag++;
		f << a[i] << "-";
		if (flag == 100)
		{
			f << endl;
			flag = 0;
		}
	}
	f << endl << endl;
	f.close();
}

//生成范圍在l~r的隨機數
void Random(int* a, int n, int l, int r)
{
	srand(time(0));//設置時間種子
	for (int i = 0; i < n; i++)
	{
		a[i] = rand() % (r - l + 1) + 1;//生成隨機數
	}
}

//打印(測試用)
void Print(int* a, int n)
{
	for (int i = 0; i < n; i++)
		cout << a[i] << " ";
	cout << endl;
}

//直接插入排序(正向)
void InsertSort_up(int a[], int n)
{
	int temp, i, j;
	for (i = 1; i < n; i++)
	{
		if (a[i] < a[i - 1])
		{
			temp = a[i];
			a[i] = a[i - 1];
			for (j = i - 2; j >= 0 && a[j] > temp; --j)
			{
				a[j + 1] = a[j];
			}
			a[j + 1] = temp;
		}
	}
}

//直接插入排序(逆向)
void InsertSort_down(int a[], int n)
{
	int temp, i, j;
	for (int i = 0; i < n - 1; i++)
	{
		int end = i + 1;
		int temp = a[end];
		if (a[end] > a[i])
		{
			while (end > 0 && temp > a[end - 1])
			{
				a[end] = a[end - 1];
				end--;
			}
		}
		a[end] = temp;
	}
}

//折半插入排序(正向)
void BinaryInsertionSort_up(int a[], int left, int right)
{
	int i, j;
	int mid, temp;
	i = left, j = right;
	mid = a[(left + right) >> 1];
	do
	{
		while (a[i] < mid && (i < right))
			i++;
		while (a[j] > mid && (j > left))
			j--;
		if (i <= j)
		{
			temp = a[i];
			a[i] = a[j];
			a[j] = temp;
			i++;
			j--;
		}
	} while (i <= j);
	if (left < j)
		BinaryInsertionSort_up(a, left, j);
	if (right > i)
		BinaryInsertionSort_up(a, i, right);
}

//折半插入排序(逆向)
void BinaryInsertionSort_down(int  a[], int n)
{
	BinaryInsertionSort_up(a, 0, n - 1);
	reverse(&a[0], &a[50001]);
}

//2-路插入排序(正向)
void TwoInsertSort_up(int a[], int n)
{
	int* tmp = new int[n];     //臨時數組
	int front = 0, rear = 0;   //記錄當前tmp數組中最大值和最小值的位置
	tmp[0] = a[0];             //初始化tmp

	for (int i = 1; i < n; i++)
	{
		int key = a[i];
		//如果當前插入的元素比最小的元素更小
		if (key < tmp[front])
		{
			front = (front - 1 + n) % n;
			tmp[front] = key;
		}
		//如果當前插入元素比最大元素更大
		else if (key > tmp[rear])
		{
			rear = (rear + 1 + n) % n;
			tmp[rear] = key;
		}
		//如果在當前最小和最大之間
		else
		{
			int k = (rear + n) % n;
			//將比當前插入值key大的進行后移
			while (tmp[(k + n) % n] > key)
			{
				tmp[(k + 1 + n) % n] = tmp[(k + n) % n];
				k = (k - 1 + n) % n;
			}
			tmp[(k + 1 + n) % n] = key; //當前插入值放到合適位置
			rear = (rear + 1 + n) % n;  //更新最大值位置(有序序列長度+1)
		}
	}

	//復制臨時數組到原數組中
	for (int k = 0; k < n; k++)
		a[k] = tmp[(front + k) % n];
	delete[] tmp;
}

//2-路插入排序(逆向)
void TwoInsertSort_down(int a[], int n)
{
	int* tmp = new int[n];     //臨時數組
	int front = 0, rear = 0;   //記錄當前tmp數組中最大值和最小值的位置
	tmp[0] = a[0];             //初始化tmp

	for (int i = 1; i < n; i++)
	{
		int key = a[i];
		//如果當前插入的元素比最小的元素更小
		if (key < tmp[front])
		{
			front = (front - 1 + n) % n;
			tmp[front] = key;
		}
		//如果當前插入元素比最大元素更大
		else if (key > tmp[rear])
		{
			rear = (rear + 1 + n) % n;
			tmp[rear] = key;
		}
		//如果在當前最小和最大之間
		else
		{
			int k = (rear + n) % n;
			//將比當前插入值key大的進行后移
			while (tmp[(k + n) % n] > key)
			{
				tmp[(k + 1 + n) % n] = tmp[(k + n) % n];
				k = (k - 1 + n) % n;
			}
			tmp[(k + 1 + n) % n] = key; //當前插入值放到合適位置
			rear = (rear + 1 + n) % n;  //更新最大值位置(有序序列長度+1)
		}
	}

	//復制臨時數組到原數組中
	for (int k = 0; k < n; k++)
		a[k] = tmp[(front + k) % n];
	reverse(&a[0], &a[50001]);//倒序
	delete[] tmp;
}

//希爾排序(正向)
void ShellSort_up(int a[], int n)
{
	int temp = n;//初始化增量
	while (temp > 1)//最后一次增量為1
	{
		temp = temp / 3 + 1;
		for (int i = temp; i < n; i++)
		{
			int key = a[i];//當前需要插入的數
			int j = i - temp;
			while (j >= 0 && a[j] > key)
			{
				a[j + temp] = a[j];
				j -= temp;
			}
			a[j + temp] = key;
		}
	}
}

//希爾排序(逆向)
void ShellSort_down(int a[], int n)
{
	int temp = n;//初始化增量
	while (temp > 1)//最后一次增量為1
	{
		temp = temp / 3 + 1;
		for (int i = temp; i < n; i++)
		{
			int key = a[i];//當前需要插入的數
			int j = i - temp;
			while (j >= 0 && a[j] > key)
			{
				a[j + temp] = a[j];
				j -= temp;
			}
			a[j + temp] = key;
		}
	}
	reverse(&a[0], &a[50001]);
}

//快速排序(正向)
int GetMid(int a[], int left, int right)
{
	int mid = (left + right) >> 1;
	if (a[left] < a[mid])
		if (a[mid] < a[right])
			return mid;
		else
			if (a[left] < a[right])
				return right;
			else
				return left;
	else
		if (a[mid] > a[right])
			return right;
		else
			return left;
}

int PartitionBetter(int a[], int left, int right)
{
	int pos = GetMid(a, left, right);
	swap(a[pos], a[left]);
	int i = left;
	int j = right;
	int key = a[left];
	while (i != j)
	{
		while (i < j && a[j] >= key)
			j--;
		while (i < j && a[i] <= key)
			i++;
		swap(a[i], a[j]);
	}
	swap(a[i], a[left]);
	return i;
}

void QuickSort_up(int a[], int left, int right)
{
	if (left >= right)
		return;
	int i = PartitionBetter(a, left, right);
	QuickSort_up(a, left, i - 1);
	QuickSort_up(a, i + 1, right);
}

//快速排序(逆向)
void QuickSort_down(int a[], int n)
{
	QuickSort_up(a, 0, n - 1);
	reverse(&a[0], &a[50001]);
}

//選擇排序(正向)
void SelectSort_up(int a[], int n)
{
	for (int i = 0; i < n; i++)
	{
		int min = i;
		for (int j = i + 1; j < n; j++)
		{
			if (a[min] > a[j])
				min = j;
		}
		swap(a[i], a[min]);
	}
}

//選擇排序(逆向)
void SelectSort_down(int a[], int n)
{
	SelectSort_up(a, n);
	reverse(&a[0], &a[50001]);
}

//錦標賽排序(正向)
void TreeSelectSort_up(int a[], int n)
{
	int sum = n * 2 - 1;//滿二叉樹節點總數
	int* tree = new int[sum];
	//輸入葉子節點
	for (int i = n - 1, j = 0; i >= 0; i--, j++)
		tree[sum - j - 1] = a[i];
	//非葉子節點
	for (int i = sum - n - 1; i >= 0; i--)
		tree[i] = tree[2 * i + 1] < tree[2 * i + 2] ? tree[2 * i + 1] : tree[2 * i + 2];
	int k = 0;
	int minindex = -1;
	while (k < n)
	{
		int min = tree[0];
		a[k++] = min;
		minindex = sum - 1;
		//從最后葉子節點開始找到最小值的位置,將其設置為MAXIUM
		while (tree[minindex] != min)
			minindex--;
		tree[minindex] = INT_MAX;
		//若該節點有父節點,將其兄弟結點提升為父節點
		while (minindex > 0)
		{
			if (minindex % 2 == 1)
			{
				tree[(minindex - 1) / 2] = tree[minindex] < tree[minindex + 1] ? tree[minindex] : tree[minindex + 1];
				minindex = (minindex - 1) / 2;
			}
			else
			{
				tree[minindex / 2 - 1] = tree[minindex] < tree[minindex - 1] ? tree[minindex] : tree[minindex - 1];
				minindex = minindex / 2 - 1;
			}
		}
	}
	delete[] tree;
}

//錦標賽排序(逆向)
void TreeSelectSort_down(int a[], int n)
{
	TreeSelectSort_up(a, n);
	reverse(&a[0], &a[50001]);
}

//堆排序(正向)
void Heapify(int a[], int i, int n)
{
	int left = 2 * i + 1, right = 2 * i + 2;//二叉樹當前節點的左右節點
	int max = i;//默認i為最大值
	if (left < n && a[left]>a[max])
		max = left;
	if (right <n && a[right]>a[max])
		max = right;
	if (max != i)
	{
		//調整最大值到非葉子節點處
		swap(a[i], a[max]);
		//互換后,子節點變化,若子節點有其子節點仍需調整,遞歸
		Heapify(a, max, n);
	}
}

void HeapSort_up(int a[], int n)
{
	for (int i = n / 2 - 1; i >= 0; i--)//構建大根堆
		Heapify(a, i, n);
	while (n > 1)
	{
		swap(a[0], a[n - 1]);//交換首位數據,尾部最大
		Heapify(a, 0, --n);//重置大根堆
	}
}

//堆排序(逆向)
void HeapSort_down(int a[], int n)
{
	HeapSort_up(a, n);
	reverse(&a[0], &a[50001]);
}

//歸并排序(正向)
void Merge(int a[], int left, int mid, int right)
{
	int* temp = new int[right - left + 1];
	int i = left, j = mid + 1, k = 0;
	while (i <= mid && j <= right)
	{
		if (a[i] < a[j])
		{
			temp[k] = a[i];
			i++;
		}
		else
		{
			temp[k] = a[j];
			j++;
		}
		k++;
	}
	while (i <= mid)
	{
		temp[k] = a[i];
		i++;
		k++;
	}
	while (j <= right)
	{
		temp[k] = a[j];
		j++;
		k++;
	}
	i = left;
	for (int tempK = 0; ((tempK < k) && (i <= right)); tempK++)
	{
		a[i] = temp[tempK];
		i++;
	}
	delete[] temp;
	temp = NULL;
}

void MergeSort_up(int a[], int left, int right)
{
	if (left < right)
	{
		int mid = (left + right) >> 1;
		MergeSort_up(a, left, mid);
		MergeSort_up(a, mid + 1, right);
		Merge(a, left, mid, right);
	}
}

//歸并排序(逆向)
void MergeSort_down(int a[], int n)
{
	MergeSort_up(a, 0, 50000);
	reverse(&a[0], &a[50001]);
}

//基數排序(正向)
//求數據的最大位數, 決定排序次數
int maxbit(int a[], int n)
{
	int d = 1; //保存最大的位數
	int p = 10;
	for (int i = 0; i < n; ++i)
	{
		while (a[i] >= p)
		{
			p *= 10;
			++d;
		}
	}
	return d;
}

void RadixSort_up(int a[], int n) //基數排序
{
	int d = maxbit(a, n);
	int tmp[50001];
	int count[10]; //計數器
	int i, j, k;
	int radix = 1;
	for (i = 1; i <= d; i++) //進行d次排序
	{
		for (j = 0; j < 10; j++)
			count[j] = 0; //每次分配前清空計數器
		for (j = 0; j < n; j++)
		{
			k = (a[j] / radix) % 10; //統計每個桶中的記錄數
			count[k]++;
		}
		for (j = 1; j < 10; j++)
			count[j] = count[j - 1] + count[j]; //將tmp中的位置依次分配給每個桶
		for (j = n - 1; j >= 0; j--) //將所有桶中記錄依次收集到tmp中
		{
			k = (a[j] / radix) % 10;
			tmp[count[k] - 1] = a[j];
			count[k]--;
		}
		for (j = 0; j < n; j++) //將臨時數組的內容復制到a中
			a[j] = tmp[j];
		radix = radix * 10;
	}
}

//基數排序(逆向)
void RadixSort_down(int a[], int n)
{
	RadixSort_up(a, n);
	reverse(&a[0], &a[50001]);
}


int main()
{
	srand(time(0));
	clock_t start1, end1;
	clock_t start2, end2;
	clock_t start3, end3;
	clock_t start4, end4;
	clock_t start5, end5;
	clock_t start6, end6;
	clock_t start7, end7;
	clock_t start8, end8;
	clock_t start9, end9;
	clock_t start10, end10;
	clock_t start11, end11;
	clock_t start12, end12;
	clock_t start13, end13;
	clock_t start14, end14;
	clock_t start15, end15;
	clock_t start16, end16;
	clock_t start17, end17;
	clock_t start18, end18;
	clock_t start19, end19;
	clock_t start20, end20;
	double duration;

	int a[50001];
	int n = 50001;//數組元素的個數,即隨機數的個數
	
	Random(a, n, 1, 32767);
	start9 = clock();
	QuickSort_up(a, 0, n - 1);
	end9 = clock();
	duration = (double)(end9 - start9) / CLOCKS_PER_SEC;
	save(a, "快速排序(正向)", duration);
	cout << "快速排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start10 = clock();
	QuickSort_down(a, n);
	end10 = clock();
	duration = (double)(end10 - start10) / CLOCKS_PER_SEC;
	save(a, "快速排序(反向)", duration);
	cout << "快速排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start1 = clock();
	InsertSort_up(a, n);
	end1 = clock();
	duration = (double)(end1 - start1) / CLOCKS_PER_SEC;
	save(a, "直接插入排序(正向)", duration);
	cout << "直接插入排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start2 = clock();
	InsertSort_down(a, n);
	end2 = clock();
	duration = (double)(end2 - start2) / CLOCKS_PER_SEC;
	save(a, "直接插入排序(反向)", duration);
	cout << "直接插入排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start3 = clock();
	BinaryInsertionSort_up(a, 0, n - 1);
	end3 = clock();
	duration = (double)(end3 - start3) / CLOCKS_PER_SEC;
	save(a, "折半插入排序(正向)", duration);
	cout << "折半插入排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start4 = clock();
	BinaryInsertionSort_down(a, n);
	end4 = clock();
	save(a, "折半插入排序(反向)", duration);
	cout << "折半插入排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start5 = clock();
	TwoInsertSort_up(a, n);
	end5 = clock();
	duration = (double)(end5 - start5) / CLOCKS_PER_SEC;
	save(a, "2-路插入排序(正向)", duration);
	cout << "2-路插入排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start6 = clock();
	TwoInsertSort_down(a, n);
	end6 = clock();
	duration = (double)(end6 - start6) / CLOCKS_PER_SEC;
	save(a, "2-路插入排序(反向)", duration);
	cout << "2-路插入排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start7 = clock();
	ShellSort_up(a, n);
	end7 = clock();
	duration = (double)(end7 - start7) / CLOCKS_PER_SEC;
	save(a, "希爾排序(正向)", duration);
	cout << "希爾排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start8 = clock();
	ShellSort_down(a, n);
	end8 = clock();
	duration = (double)(end8 - start8) / CLOCKS_PER_SEC;
	save(a, "希爾排序(反向)", duration);
	cout << "希爾排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start11 = clock();
	SelectSort_up(a, n);
	end11 = clock();
	duration = (double)(end11 - start11) / CLOCKS_PER_SEC;
	save(a, "選擇排序(正向)", duration);
	cout << "選擇排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start12 = clock();
	SelectSort_down(a, n);
	end12 = clock();
	duration = (double)(end12 - start12) / CLOCKS_PER_SEC;
	save(a, "選擇排序(反向)", duration);
	cout << "選擇排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start13 = clock();
	TreeSelectSort_up(a, n);
	end13 = clock();
	duration = (double)(end13 - start13) / CLOCKS_PER_SEC;
	save(a, "錦標賽排序(正向)", duration);
	cout << "錦標賽排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start14 = clock();
	TreeSelectSort_down(a, n);
	end14 = clock();
	duration = (double)(end14 - start14) / CLOCKS_PER_SEC;
	save(a, "錦標賽排序(反向)", duration);
	cout << "錦標賽排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start15 = clock();
	HeapSort_up(a, n);
	end15 = clock();
	duration = (double)(end15 - start15) / CLOCKS_PER_SEC;
	save(a, "堆排序(正向)", duration);
	cout << "堆排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start16 = clock();
	HeapSort_down(a, n);
	end16 = clock();
	duration = (double)(end16 - start16) / CLOCKS_PER_SEC;
	save(a, "堆排序(反向)", duration);
	cout << "堆排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start17 = clock();
	MergeSort_up(a, 0, 50000);
	end17 = clock();
	duration = (double)(end17 - start17) / CLOCKS_PER_SEC;
	save(a, "歸并排序(正向)", duration);
	cout << "歸并排序(正向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start18 = clock();
	MergeSort_down(a, 50001);
	end18 = clock();
	duration = (double)(end18 - start18) / CLOCKS_PER_SEC;
	save(a, "歸并排序(反向)", duration);
	cout << "歸并排序(反向):" << duration << "seconds" << endl;

	Random(a, n, 1, 32767);
	start19 = clock();
	RadixSort_up(a, n);
	end19 = clock();
	duration = (double)(end19 - start19) / CLOCKS_PER_SEC;
	save(a, "基數排序(正向)", duration);
	cout << "基數排序(正向):" << duration << "seconds" << endl;


	Random(a, n, 1, 32767);
	start20 = clock();
	RadixSort_down(a, n);
	end20 = clock();
	duration = (double)(end20 - start20) / CLOCKS_PER_SEC;
	save(a, "基數排序(反向)", duration);
	cout << "基數排序(反向):" << duration << "seconds" << endl;

	return 0;
}

運行結果

總結

以上是生活随笔為你收集整理的排序算法的性能比较的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

国产精品理论视频 | 日韩在线免费不卡 | 99福利影院 | 91精品电影| 成人av在线直播 | 久久久久久久久毛片精品 | 五月天婷婷综合 | 在线亚洲人成电影网站色www | 天天操偷偷干 | 久久婷婷国产色一区二区三区 | 色婷婷综合在线 | 午夜精品视频在线 | 99精品国产兔费观看久久99 | 日韩欧美在线观看一区二区三区 | 国产精品亚洲成人 | 日韩免费中文 | 日韩久久精品一区二区三区下载 | 国产九色91 | 激情五月婷婷 | 国产一区二区三区免费视频 | av千婊在线免费观看 | 久久综合九色综合久99 | 国产精品久久久久高潮 | 中文字幕免费一区二区 | 99久久这里有精品 | 久久亚洲精品国产亚洲老地址 | 91精品国产一区二区在线观看 | 久久精品一二三区 | 四虎永久免费网站 | 网站在线观看日韩 | 久久视频免费观看 | 久久久电影 | 久久av免费观看 | 视频在线观看亚洲 | 成人国产精品久久久久久亚洲 | 久草在线免费色站 | 日韩av资源在线观看 | 中文字幕欧美激情 | 国产精品av免费在线观看 | av色网站 | 日韩理论影院 | 日韩精品一区二区三区免费视频观看 | 成人黄色电影在线播放 | 久久久久久久久久久免费av | 国产大尺度视频 | 精品一区二三区 | 五月婷婷开心中文字幕 | 久久久久久久网 | 一级a性色生活片久久毛片波多野 | 亚洲va韩国va欧美va精四季 | 国产精品一区免费观看 | 国产成人精品一区一区一区 | 中文字幕在线播放av | 免费日韩视 | 日韩色视频在线观看 | 91精品影视| 狠狠干.com| 欧美精品亚洲二区 | 久免费视频 | 91人网站 | 国产精品第一页在线 | 欧美99热 | 国产高清不卡av | 国产精品2018 | 亚洲春色综合另类校园电影 | www黄| 国产91综合一区在线观看 | 免费色网站 | 中文字幕日韩无 | 国产又粗又硬又爽的视频 | 蜜桃av久久久亚洲精品 | 中文字幕久久精品 | 国产色a在线观看 | 九九免费精品视频在线观看 | 五月婷婷综合在线 | 久久99免费观看 | 免费在线观看成年人视频 | 国产精品18videosex性欧美 | 久久综合射 | 欧洲性视频 | 999成人免费视频 | 国产精品不卡在线播放 | 国产精品区一区 | 久久99精品久久久久婷婷 | 97视频在线观看视频免费视频 | 国产糖心vlog在线观看 | 在线日韩| 日韩欧美精品免费 | 成人久久久久 | 国产精品久久久久久久久久99 | 国产一区久久 | 国产一级特黄电影 | 操少妇视频 | 免费看一级特黄a大片 | 午夜精品久久 | 9色在线视频 | 91成人国产 | 在线观看国产福利片 | 日韩大片免费在线观看 | 国产这里只有精品 | 九九视频在线观看视频6 | 天天操人| 国产破处视频在线播放 | 日韩区欧美久久久无人区 | 久久呀 | av一本久道久久波多野结衣 | 欧美资源| 天天插日日插 | 91久久国产露脸精品国产闺蜜 | av电影免费 | 黄色片免费在线 | 色亚洲网| 国产性xxxx | 亚洲va欧美 | 91av综合| www久| 91大神电影| 精品高清美女精品国产区 | 91精品视频观看 | 日韩欧美高清一区二区 | 五月综合色 | 国产白浆在线观看 | 亚洲综合在线五月 | 国产精品久久久久久久久软件 | 国产精品久久久久一区 | 久久国产露脸精品国产 | 蜜臀av性久久久久蜜臀av | 婷婷激情五月 | 又黄又爽又湿又无遮挡的在线视频 | 中文字幕亚洲国产 | 亚洲国产一区二区精品专区 | 久久艹精品 | 成人不用播放器 | a久久免费视频 | 日日夜夜人人精品 | 欧美人交a欧美精品 | 久久五月天婷婷 | 俺要去色综合狠狠 | 波多野结衣视频一区二区三区 | 成人免费xyz网站 | 成人在线视频免费看 | 99精品国产一区二区三区不卡 | 91福利小视频| 亚洲精品99久久久久中文字幕 | 福利一区在线视频 | 精品国产亚洲日本 | 狠狠干网 | 国产精品久久久久久久久久久久冷 | 中文字幕 第二区 | 日韩在线观看电影 | www.久热| 91精品国产欧美一区二区 | 深爱激情五月网 | 久久午夜鲁丝片 | 国产剧情av在线播放 | 色爽网站| 国产精品久久久久国产a级 激情综合中文娱乐网 | 中文字幕a∨在线乱码免费看 | 四虎在线免费观看视频 | 狠狠88综合久久久久综合网 | 99视频免费 | 国产精品久久99精品毛片三a | av电影免费在线看 | 国产视频精选 | 免费试看一区 | 怡春院av| 久久国产精品99久久久久 | 国产精品永久免费 | 免费看特级毛片 | 国产视| 一区二区三区久久 | 国产色影院| av免费看在线| 国产成人一二三 | 久久国产精品一区二区 | 99综合久久 | 日日夜夜天天久久 | 日韩高清精品一区二区 | 日韩婷婷| 久久av免费观看 | 人人爽久久涩噜噜噜网站 | 国产精品久久综合 | 一区二区三区日韩视频在线观看 | 91激情小视频| 97国产电影 | 99精品国产成人一区二区 | 久久久影视| 日本精品一二区 | 91色网址 | 99热最新在线 | 国产精品夜夜夜一区二区三区尤 | 婷婷在线观看视频 | 久久伊人热 | 91精品国自产在线观看欧美 | 免费又黄又爽 | 久久亚洲综合国产精品99麻豆的功能介绍 | 国内精品久久久久久 | 又黄又爽又刺激的视频 | 久久久影视 | 精品国产一区二区三区久久 | 99国产精品免费网站 | 欧美黄网站| 亚洲欧美日本A∨在线观看 青青河边草观看完整版高清 | 黄色在线观看污 | 国产一级片在线播放 | 免费成人av | 日韩在观看线 | 一级免费av | av天天澡天天爽天天av | 最新日韩中文字幕 | 国产a国产| 欧美精品免费在线 | 精品国产一区二区三区久久久蜜臀 | 91视频在线观看免费 | 日韩久久久久久久久久 | 18久久久久久 | 久久综合干| 日日麻批40分钟视频免费观看 | 超碰在线99 | 日韩在线视频不卡 | 免费在线观看一区二区三区 | 美州a亚洲一视本频v色道 | 久精品在线观看 | 人人爱爱人人 | 午夜精品久久久久99热app | 亚洲成a人片在线观看网站口工 | 久久香蕉一区 | 国产色婷婷精品综合在线手机播放 | 欧美伦理一区 | 国产精品综合av一区二区国产馆 | 18av在线视频 | 婷婷在线网 | 久久精品国产一区二区三区 | 国产精品一区一区三区 | 最近在线中文字幕 | 丁香婷婷激情 | 综合网天天 | 亚洲高清激情 | 日日爱夜夜爱 | 欧美一性一交一乱 | 人人网人人爽 | 国产视频一区二区三区在线 | 国产精品久久久久久婷婷天堂 | 精品国偷自产国产一区 | 免费涩涩网站 | 午夜狠狠操 | 欧美ⅹxxxxxx | 亚洲成人资源 | 黄色大片网 | 国产精品午夜在线观看 | 国产精品久久久av久久久 | 国语自产偷拍精品视频偷 | 超碰999 | 国产精品手机在线 | 欧美综合在线观看 | 中文区中文字幕免费看 | 91完整版 | 欧美a级在线免费观看 | 美女国产精品 | 热99在线 | 日韩免费网址 | www.久久久精品 | 中文字幕免费高 | 在线观看午夜av | 免费又黄又爽的视频 | 在线观看一级片 | 夜夜躁日日躁狠狠躁 | 久久亚洲私人国产精品 | 国产精品99久久久 | 激情电影在线观看 | 久久午夜鲁丝片 | 欧美人操人 | 国产精品资源在线 | 欧美一区二区视频97 | 成人av午夜 | 日韩黄色免费电影 | 一区二区成人国产精品 | 亚洲欧美视频在线 | 中文字幕日韩精品有码视频 | 精品国产伦一区二区三区 | 在线91av | 久久视影 | 欧美性生活免费 | 又黄又爽又无遮挡的视频 | 亚洲精品网站 | www黄色软件 | 久久99热精品这里久久精品 | 91久久偷偷做嫩草影院 | 国产亚洲无 | 久久1电影院 | 五月天精品视频 | 亚洲欧美视频一区二区三区 | 成人视屏免费看 | 亚洲三级黄色 | 中文字幕色网站 | 日韩av区| 麻豆91精品91久久久 | 日韩理论在线播放 | 亚洲综合在线五月天 | 国产69精品久久久久久 | 久草资源在线 | 亚洲视频 视频在线 | 中文字幕在线观看免费高清电影 | 91在线视频导航 | 中文亚洲欧美日韩 | 成人天堂网 | 午夜视频在线网站 | 99视频导航 | 97超碰中文字幕 | 在线亚洲日本 | 麻豆国产在线播放 | 人人精久 | 二区三区av| 狠狠色伊人亚洲综合网站野外 | 亚洲精品乱码久久久久久写真 | 日本在线观看黄色 | 亚洲视频综合在线 | 色婷婷国产 | 天天天干天天射天天天操 | 国产免费又黄又爽 | 成年人在线观看网站 | 色婷婷丁香 | 精品视频成人 | 免费情趣视频 | 激情久久久 | 久操中文字幕在线观看 | 国产成人精品一区二区三区 | 又大又硬又黄又爽视频在线观看 | 香蕉网站在线观看 | 婷婷丁香视频 | 99九九免费视频 | 国产精品一区二区免费在线观看 | 精壮的侍卫呻吟h | 亚洲综合丁香 | 最近中文字幕在线中文高清版 | 超碰人人乐 | 天天草天天插 | 国产精品视频观看 | 亚洲高清激情 | 中文字幕av全部资源www中文字幕在线观看 | 中文字幕在线一区观看 | 在线视频1卡二卡三卡 | 国产精品黄色在线观看 | 成人免费av电影 | 91桃花视频 | 三级黄色在线 | 999成人| 一级特黄aaa大片在线观看 | 日本黄网站 | 久久综合视频网 | 夜夜夜草 | 国产精品永久在线观看 | 激情五月婷婷网 | 黄色免费观看网址 | 综合色婷婷 | 五月婷婷丁香在线观看 | 这里有精品在线视频 | 日本性xxxxx| 久久久午夜影院 | 亚洲欧美激情精品一区二区 | 精品国产观看 | 国产原创在线视频 | 中国一级片在线播放 | 国产视频在线观看一区 | 成人av影视观看 | 91在线在线观看 | 欧美日韩一区二区免费在线观看 | 91精品欧美一区二区三区 | 天天草综合 | 久久精品福利视频 | 欧美精品午夜 | a天堂在线看 | 国产色在线观看 | 免费a视频在线观看 | 国产a级片免费观看 | 久久久穴 | 日韩精品视频免费 | 精品久久一 | 中文字幕黄色网 | 免费欧美 | 成人精品视频久久久久 | 国产福利av| 欧美日韩中文国产一区发布 | 国产视频二区三区 | 99久久婷婷国产一区二区三区 | 精品国产一区二区三区男人吃奶 | 少妇啪啪av入口 | 日本精品一区二区三区在线观看 | 日韩理论在线观看 | 色婷婷天天干 | 国产精品久久久久久一二三四五 | 久热这里有精品 | 日韩欧美观看 | 欧美亚洲国产一卡 | 天天爽人人爽 | 午夜黄网 | 97精品在线观看 | 天天狠狠操| 国产一区二区日本 | 日韩中文字幕亚洲一区二区va在线 | 久久久久麻豆v国产 | 免费男女羞羞的视频网站中文字幕 | 久久人人干 | 国产亚洲精品久久久久久久久久 | 欧美日本一区 | 日韩免费网站 | 欧美夫妻生活视频 | 人人草人 | 免费看亚洲毛片 | 国产69精品久久app免费版 | 国产美女被啪进深处喷白浆视频 | 久久精品久久99 | 激情在线网址 | 亚洲视频免费在线观看 | 久久久www免费电影网 | 婷婷香蕉| 最近中文字幕免费视频 | 一级精品视频在线观看宜春院 | 中文字幕中文字幕在线中文字幕三区 | 国产91学生粉嫩喷水 | 精品国产一区二 | 91大神在线看 | 不卡国产在线 | 97高清视频 | 色网站在线观看 | 天天色天天操综合网 | 中文在线字幕观看电影 | 亚洲激情影院 | 国产视频精品在线 | 亚洲无吗视频在线 | 日本中文字幕电影在线免费观看 | 色小说在线 | 欧美日韩中文在线观看 | 国产一区视频在线观看免费 | 夜夜狠狠 | 狠狠干网站 | 三级性生活视频 | 网站免费黄色 | 国产在线美女 | 免费a v观看 | 国产精品九九九九九九 | 插久久| 99热在线看 | 欧美视频18 | 亚洲高清视频在线观看 | 亚洲精品国产精品国自 | 成人不用播放器 | 久久九九影视 | 在线观看av不卡 | 日韩城人在线 | 国产超碰在线 | 91av原创| 国产一区二区久久久 | 久久国产精品视频 | 国产成年免费视频 | 久久综合免费 | 日韩手机视频 | 日韩美在线观看 | 亚洲成人精品av | 欧美极品少妇xbxb性爽爽视频 | 日韩精品短视频 | 久久不见久久见免费影院 | 日韩欧美在线观看一区二区 | 日韩电影中文字幕在线 | 久久久国产精华液 | 免费网站看av片 | 成人黄色大片在线免费观看 | 日韩一区正在播放 | 欧美一区二区视频97 | 亚洲成人网av | 久久国产麻豆 | 91精品啪在线观看国产 | 丁香激情综合 | 日韩网站一区二区 | 欧美成人久久 | 亚洲欧美日韩国产一区二区三区 | 日韩精品视频在线观看免费 | 欧美激情综合五月色丁香小说 | 午夜性生活片 | www四虎影院| 97在线观视频免费观看 | 国产精品 9999 | 亚洲精品成人在线 | 狠狠躁夜夜a产精品视频 | 色综合中文字幕 | 欧美日韩国产精品一区二区 | 欧美综合干 | 中文字幕你懂的 | 99亚洲精品 | 五月婷婷综合激情 | 亚洲国产中文字幕 | 黄污在线看| 97超碰中文字幕 | 69国产精品视频 | 伊人丁香| 天天干天天射天天插 | 色中色资源站 | 中文字幕在线国产精品 | 日韩av电影中文字幕 | av电影免费在线 | 亚洲免费一级电影 | 亚洲狠狠丁香婷婷综合久久久 | 国产在线国偷精品产拍免费yy | 在线不卡a | 在线观看小视频 | www国产在线 | av在线免费播放 | 国内精品久久久久久久久久 | 日韩色高清 | 青青射| 91精品视频播放 | 国产一级电影免费观看 | 99久久日韩精品免费热麻豆美女 | 国产成人三级在线观看 | 在线成人免费电影 | 亚洲色视频 | 中文字幕在线视频一区二区 | 97超碰中文 | 久久视频在线视频 | 97免费中文视频在线观看 | 亚洲极色 | 在线观看岛国av | 国产亚洲aⅴaaaaaa毛片 | 免费午夜在线视频 | 探花视频免费观看 | 国产精品美女视频网站 | 日一日干一干 | 不卡的一区二区三区 | 视频一区视频二区在线观看 | 久草视频免费观 | 最近免费观看的电影完整版 | 久久一区二区三区四区 | 亚洲女同ⅹxx女同tv | 色a资源在线| 国产一二三区在线观看 | 亚洲国产片色 | 在线国产精品一区 | av在线播放网址 | 婷婷性综合 | 91视频xxxx| 最新91在线视频 | 狠狠躁夜夜躁人人爽超碰91 | 日韩在线短视频 | 成人av播放| а天堂中文最新一区二区三区 | 久久久久成人免费 | 久久久精品国产免费观看同学 | 国产欧美综合视频 | 欧美另类xxxx | 日韩黄在线观看 | 96久久| 午夜久久美女 | 亚洲开心色 | 国产一区在线免费观看视频 | 欧美日韩久久久 | 九色琪琪久久综合网天天 | 亚洲成av人片在线观看香蕉 | 日本资源中文字幕在线 | 国产成人av免费在线观看 | 国产69久久 | 国产小视频精品 | 久久一区二区免费视频 | a级国产片 | 精品久久久久免费极品大片 | 日韩精品一区二区三区外面 | av理论电影 | 成人a在线观看高清电影 | 五月天激情在线 | 在线观看91精品视频 | 一级欧美一级日韩 | 欧美激情综合网 | 精品一区二区三区久久久 | 人人舔人人舔 | 国产午夜一级毛片 | 亚洲欧美国产精品 | 在线观看久草 | 欧美一区影院 | 99精品久久久久久久久久综合 | 亚洲精品国产精品国自 | 91精品看片 | 欧美精品国产综合久久 | 欧美一级在线观看视频 | 久青草国产在线 | 成人av免费在线 | 天天夜操| 国产精品久久久久久久久免费 | 中文av在线播放 | 久久精品视频在线免费观看 | 91精品麻豆 | 成人在线播放av | 亚洲国产精久久久久久久 | 亚洲日本精品视频 | 日韩视频免费在线 | 久久神马影院 | 狠狠躁夜夜躁人人爽超碰91 | 在线免费观看羞羞视频 | 午夜美女av| 国产高清日韩欧美 | 免费国产在线观看 | 久久精品女人毛片国产 | 欧美日韩不卡在线 | 欧美色综合久久 | 日韩精品高清不卡 | 毛片的网址 | 黄色三几片 | 女人高潮特级毛片 | 精品久久久久免费极品大片 | 精品久久一二三区 | 香蕉影视app| 韩国一区在线 | 欧美成人在线网站 | 日韩精品一二三 | 一区二区三区四区影院 | 中文字幕二区 | 91视频在线观看大全 | 国产色在线观看 | 婷婷国产一区二区三区 | 五月天国产 | 国产麻豆精品久久一二三 | 国产成人亚洲在线观看 | 欧美成人影音 | 国产精品久久久久久久久久 | 波多野结衣久久精品 | av天天在线观看 | 日韩精品一区二区三区电影 | 国产一区观看 | 五月色丁香 | 天天色天天射综合网 | 色综合久久五月天 | 国产成人一区二区啪在线观看 | 青青河边草免费 | 精品字幕在线 | 成人午夜精品福利免费 | 中文字幕一区2区3区 | 午夜精品一区二区三区免费 | 天天狠狠| 国产亚洲精品综合一区91 | 中文字幕有码在线 | 日韩资源在线观看 | 国产极品尤物在线 | 天天色天天草天天射 | 日本久久久精品视频 | 亚洲成人中文在线 | 日本护士三级少妇三级999 | 亚洲国产中文字幕在线观看 | av福利免费| 日韩av中文 | 五月天婷亚洲天综合网精品偷 | www.久久色.com| 欧美精品免费在线观看 | 久久极品| 91经典在线 | 天天操夜夜看 | 日b视频在线观看网址 | 免费久久久久久 | 国产99久久久精品 | 久久在线免费观看 | 最近中文字幕在线中文高清版 | 成人国产精品免费 | av三级在线免费观看 | 高清av不卡 | 国产精品高潮呻吟久久久久 | 一级黄色视屏 | 丁香网五月天 | 国产我不卡 | 午夜精品久久久久99热app | 久久视频这里有久久精品视频11 | 日本bbbb摸bbbb | 美女免费网站 | www国产亚洲精品久久麻豆 | 国产69精品久久久久99尤 | 国产黄色观看 | 亚洲精品 在线视频 | 国产成人三级三级三级97 | 国产91精品看黄网站 | 亚洲国产中文字幕在线观看 | 成人黄色在线播放 | 狠狠夜夜| 久久麻豆视频 | 婷婷香蕉 | 亚洲天天在线 | 久久免费视频5 | 就色干综合| 天堂在线免费视频 | 午夜12点| 国产精品视频免费在线观看 | 99久热精品 | 成人av资源网站 | 久久久91精品国产一区二区三区 | 成人免费xxx在线观看 | 伊人影院在线观看 | 日韩美女av在线 | 国产精品观看 | 日韩视频a | 久久一级电影 | 九九热精品在线 | 国产一区视频导航 | 最新成人av | 中文欧美字幕免费 | 成人av免费 | 亚洲精品国产拍在线 | 久久久久高清 | 天天操天天干天天 | 久草在线综合 | 精品亚洲视频在线观看 | 丁香电影小说免费视频观看 | 亚洲国产三级在线 | 成人av手机在线 | 中文字幕av影院 | 97超碰在线资源 | 5月丁香婷婷综合 | 国产免费av一区二区三区 | 婷婷六月综合亚洲 | 精品国产人成亚洲区 | 欧美日本三级 | 国产精品久久一 | 久久久国产精品网站 | 美女网站在线看 | 欧美性脚交 | 亚洲九九爱| 97人人澡人人添人人爽超碰 | 夜夜高潮夜夜爽国产伦精品 | 国产精品在线看 | 特黄免费av | 免费视频91 | 97看片吧 | 在线视频免费观看 | 国内精品久久久久影院日本资源 | 亚洲资源在线 | 一本一本久久a久久 | 日韩高清久久 | 中文字幕av在线不卡 | 久久久精品成人 | 日韩高清在线一区二区 | 日韩va亚洲va欧美va久久 | 丁香 久久 综合 | 天天操天天射天天爽 | 在线看一区二区 | 国产亚洲精品久久 | 国语自产偷拍精品视频偷 | 黄色三级免费看 | 中文字幕av全部资源www中文字幕在线观看 | japanesefreesexvideo高潮 | 久99久在线 | 日精品 | 久草在线中文888 | 成人免费视频网址 | 国产视频久久久久 | 亚洲区视频在线 | 天天操天天干天天综合网 | 久久久久免费看 | 日韩在线视频二区 | 欧美激情第十页 | 国产91在| 激情婷婷网 | 中文字幕二区三区 | 九九在线精品视频 | 2019中文最近的2019中文在线 | 丁香六月在线观看 | a特级毛片 | 视频三区 | 国偷自产视频一区二区久 | 91亚洲精品久久久久图片蜜桃 | 很污的网站| av中文字幕网址 | 超碰免费成人 | 99久久er热在这里只有精品66 | 亚洲精品午夜久久久 | 国产精品日韩在线观看 | 亚洲午夜精品久久久久久久久久久久 | 国产精品美女久久久免费 | 成人av影院在线观看 | 国产一区二区精品久久91 | 精品国产一区二区三区在线 | 日韩在线高清免费视频 | 亚州精品国产 | 亚洲视频播放 | 国内免费的中文字幕 | 久久国产精品久久w女人spa | 尤物97国产精品久久精品国产 | 欧美另类老妇 | 国产精品久久电影观看 | 亚洲成人高清在线 | 亚洲va在线va天堂va偷拍 | 在线亚洲高清视频 | 中文字幕中文字幕在线中文字幕三区 | 中文字幕在线专区 | 97人人爽人人 | 久久的色| 国产精品99久久免费黑人 | www.久久色.com| 国产在线精品一区二区不卡了 | 亚洲成aⅴ人片久久青草影院 | 91精品国产乱码久久桃 | 精品国产一二三四区 | 有码视频在线观看 | 色网av| 97国产小视频 | 久久视频在线视频 | 97国产精品一区二区 | 日韩欧美综合 | 在线视频你懂得 | 一区二区三区免费在线播放 | 久久久免费观看视频 | 日韩欧美高清在线 | 午夜色站| www激情com| 色就色,综合激情 | 美女精品 | 久久99精品久久久久久久久久久久 | 国产香蕉视频 | 日韩专区中文字幕 | 欧美色精品天天在线观看视频 | 国产在线观看xxx | 日韩午夜电影 | 2023av在线| 国产99在线播放 | 天天鲁一鲁摸一摸爽一爽 | 国产永久免费高清在线观看视频 | 99精品国产福利在线观看免费 | 久久免费视频99 | 日本黄色免费在线观看 | 亚州国产精品久久久 | 美女网站在线观看 | 特级黄色片免费看 | 亚洲资源在线观看 | 91激情视频在线 | 2019精品手机国产品在线 | 欧美婷婷色| 久久久久国产成人免费精品免费 | 国产精品成人品 | 香蕉视频在线免费 | 成年人视频免费在线播放 | 久草在线视频看看 | av电影免费 | 蜜臀av在线一区二区三区 | 日韩剧情 | 亚洲欧洲精品一区二区精品久久久 | 亚洲精品网站 | 91传媒激情理伦片 | 88av网站| 丁香视频在线观看 | 亚一亚二国产专区 | 色激情五月 | 欧美一级高清片 | 国产视频1 | 一区二区三区免费看 | 国产中文字幕视频在线观看 | 国产精品久久99综合免费观看尤物 | 成人av网站在线观看 | 欧美激情视频免费看 | 2024国产精品视频 | 久久免费视频99 | 日本在线精品视频 | 日韩久久精品 | 日韩欧美99 | 欧美精品资源 | 久久理论电影 | 亚洲高清在线视频 | 亚洲免费视频在线观看 | 国产九九九九九 | 中文字幕免费观看 | 国产精品中文字幕在线 | 久久综合九色综合久99 | 午夜视频在线瓜伦 | 激情五月婷婷综合 | 久久久国产一区二区三区四区小说 | 在线视频日韩欧美 | av丁香| 插久久| 成人午夜黄色 | 成人91免费视频 | 国产视频18| 色欲综合视频天天天 | a级国产乱理伦片在线观看 亚洲3级 | 天天操天天干天天摸 | 久久爱资源网 | 欧美国产在线看 | 久草久草在线观看 | 奇米先锋 | 天天综合久久综合 | 日韩网 | 五月天国产精品 | 天天综合网在线观看 | 欧美日韩视频在线 | 久久久亚洲精华液 | 亚洲欧美国产精品18p | av在线播放中文字幕 | 免费看在线看www777 | 久青草视频在线观看 | 久久久久亚洲精品男人的天堂 | 一区二区伦理电影 | 亚洲成av人片一区二区梦乃 | 亚洲国产精品一区二区久久,亚洲午夜 | 三级黄在线 | 久久综合给合久久狠狠色 | 久久av一区二区三区亚洲 | 国内精品久久久久影院优 | 青青河边草观看完整版高清 | 欧美日本国产在线观看 | 波多野结衣亚洲一区二区 | 亚洲高清精品在线 | 五月天久久久久久 | 在线观看911视频 | 午夜精品导航 | 天天操天天爱天天爽 | 国产精品毛片久久久久久久久久99999999 | 狠狠色综合网站久久久久久久 | 国产a视频免费观看 | 激情开心网站 | 久久国产精品一区二区三区四区 | 91大片网站 | 91视频91自拍| 久在线| 伊人电影在线观看 | 成人一级片视频 | 国产一区二区三区 在线 | 美女视频是黄的免费观看 | 激情综合一区 | 日韩免费高清在线观看 | 国产97碰免费视频 | 国产精品久久久久久久久久 | 国产精品 欧美 日韩 | 成人午夜性影院 | 人人澡人人舔 | 黄色免费观看 | 玖玖在线播放 | av成人亚洲| 91天堂在线观看 | 涩av在线| 成人午夜在线观看 | 亚洲精品国 | 一个色综合网站 | 毛片区 | 91精品夜夜| 九九久久影视 | 精品中文字幕视频 | 天天操福利视频 | 国产精品99久久久久久人免费 | 久久人人97超碰com | 亚洲va欧美va人人爽 | 在线观看亚洲国产 | 欧美大片在线观看一区 | 亚洲国产精品久久 | 日本午夜在线亚洲.国产 | 国产精品久久久久久久免费观看 | 人人澡人人添人人爽一区二区 | 9热精品 | 综合网五月天 | 在线视频精品播放 | 日本天天色 | 国产午夜精品一区二区三区欧美 | 中文字幕在线观看完整版电影 | 免费成人短视频 | 日日日操 | 米奇狠狠狠888 | 中文字幕在线免费看线人 | 亚洲欧美视频在线 | 人人射人人爱 | 天天天干天天射天天天操 | 成年人在线免费视频观看 | 亚洲黄色免费观看 | 亚洲精品资源在线观看 | 国产免费嫩草影院 | 国产在线精品观看 | 国产黄色片免费在线观看 | 91成人精品一区在线播放69 | 国产日韩欧美在线观看 | 国产在线p | 四虎影视成人永久免费观看视频 | 91免费版在线观看 | 日日日爽爽爽 | 人人爱爱| 亚洲欧美日韩一二三区 | a v在线观看 | av一级黄| 国产美女免费视频 | 美国人与动物xxxx | 亚洲欧美乱综合图片区小说区 | 一级全黄毛片 | 六月天综合网 | 91精品老司机久久一区啪 | 久久久久北条麻妃免费看 | 免费a v网站 | 特级xxxxx欧美 | 国产成人精品av在线 | 麻花豆传媒mv在线观看网站 | 亚洲春色奇米影视 | 亚洲精品美女视频 | 97精品在线视频 | 久久久久久草 | 国产青青青 | av片免费播放 | 婷婷色狠狠 | 色综合天天综合网国产成人网 | 在线观看国产日韩欧美 | 国产高清成人 | 日本在线h|