• 快排 [随机数]


    #include<iostream>
    #include<cstring>
    #include<algorithm>
    #include<string>
    #include<time.h>
    using namespace std;
    const int maxn = 100;
    int inquicksort(int a[], int left, int right)
    {
    	int p = (int)(round(1.0 * rand() / RAND_MAX * (right - left) + left));
    	swap(a[left], a[p]);
    	int temp = a[left];
    	while (left < right)
    	{
    		while (left<right&&a[right] > temp)
    			right--;
    		a[left] = a[right];
    		while (left < right &&a[left] <=temp)
    			left++;
    		a[right] = a[left];
    	}
    	a[left] = temp;
    	return left;
    }
    void quicksort(int a[], int left, int right)
    {
    	if (left < right)
    	{
    		int pos = inquicksort(a, left, right);
    		quicksort(a, left, pos - 1);
    		quicksort(a, pos + 1, right);
    	}
    }
    int main()
    {
    	srand((unsigned)time(NULL));
    	int a[maxn];
    	int n; cin >> n;
    	for (int i = 0; i < n; i++)
    	{
    		cin >> a[i];
    	}
    	quicksort(a, 0, n - 1);
    	for (int i = 0; i < n; i++)
    	{
    		cout << a[i] << " ";
    	}
    }
    
  • 相关阅读:
    多线程
    关于并发和并行
    文件系统
    java.util.Arrays类
    程序管理与SElinux
    用户和用户组管理总结
    useradd和adduser
    打印可见字符
    cmd中控制某个命令执行多少次
    keras模块之-优化器(optimizers)--笔记
  • 原文地址:https://www.cnblogs.com/Hsiung123/p/13812060.html
Copyright © 2020-2023  润新知