Random_Select

原创 2015年11月18日 14:49:19
#include "stdafx.h"

int PARTITION(int a[], int p, int r)                                           //以递增顺序排序
{
    int x = a[r];
    int i = p - 1;
    for (int j = p; j < r; ++j)
    {
        if (a[j] < x)
        {
            ++i;
            int temp = a[i];
            a[i] = a[j];
            a[j] = temp;
        }
    }
    int temp = a[i + 1];
    a[i + 1] = a[r];
    a[r] = temp;
    return i + 1;
}

int Random_Partition(int a[], int p, int r)
{
    srand(time(NULL));                                            //以当前时间作为种子,以便每次产生的随机数不同
    int i = p+rand() % (r - p);                                 //产生随机数
    int temp = a[i];
    a[i] = a[r];
    a[r] = temp;
    return PARTITION(a, p, r);
}

int Random_Select(int a[], int p, int r, int i)
{
    int q = 0,k = 0;
    if (p==r)
    {
        return a[p];
    }
    else
    {
        q = Random_Partition(a, p, r);
        k = q - p + 1;
        if (i==k)
        {
            return a[q];
        }
        else if (i < k)
        {
            return Random_Select(a, p, q - 1, i);
        }
        else
            return Random_Select(a, q + 1, r, i - k);
    }
}

int _tmain(int argc, _TCHAR* argv[])
{
    int a[] = { 3, 1, 7, 5, 9, 4, 12, 2 };
    int len = sizeof(a) / 4 - 1;
    cout << Random_Select(a, 0, len,7) << endl;
    return 0;
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

matlab中(),[],与{}的区别认识

在matlab中,常常会遇到(),[],和{},这个3种符号怎么区分,怎么用,这里我来总结一下,龚参考。 [] 首先。[]叫中括号,它用来存储矩阵和向量(vector在C++中也叫容器) 举个例子,...
  • CV_YOU
  • CV_YOU
  • 2016年10月20日 16:09
  • 2664

MATLAB批量文件重命名(详细解释)

这段时间在用 matlab 做手写数字识别,处理样本的时候需要对样本文件进行重命名,可是有好多,总不能一个一个重命名吧,于是上网百度了好多,不过大多都一样,但是没有解释,只有干巴巴的程序,弄了好一会才...
  • u010099080
  • u010099080
  • 2015年11月19日 00:03
  • 14562

Matlab 随机数字

1.随机生成只有0,1元素的矩阵(m行n列) A=round(rand(m,n)) 2.随机生成每行有若干个0,1元素的矩阵,比如每行只有2个元素为1,其他元素为0 A=zeros(4,...
  • u013152895
  • u013152895
  • 2015年03月17日 14:55
  • 727

matlab随机抽样

1。程序实现 设数据存放于向量a中,需要重复n次简单随机采样,程序及说明如下:m=length(a); %dimension idx= ceil(m*rand(1,n)) ; %generate n ...
  • pretend_b
  • pretend_b
  • 2010年10月14日 17:46
  • 9424

matlab 相关系数计算

在统计学中的定义,自相关函数就是将一个有序的随机变量系列与其自身作比较。每个不存在相位差的系列,都与其都与其自身相似,即在此情况下,自相关函数值最大。在信号分析当中通常将自相关函数称之为自协方差方程。...
  • Angelo99
  • Angelo99
  • 2016年01月22日 10:39
  • 6629

MATLAB GPU并行编程

MATLAB GPU
  • l740450789
  • l740450789
  • 2015年10月20日 19:18
  • 4910

Matlab 中伪随机数的生成以及可复现的不放回等概率随机抽样

Matlab 中伪随机数的生成以及可复现的不放回等概率随机抽样在一些统计分析和优化实验中,需要用到随机数,可是我们又无法得到真正的随机数。平时使用的都是伪随机数,是拿软件模拟的随机数。 比如,系统时...
  • u011108244
  • u011108244
  • 2017年03月04日 15:40
  • 542

Matlab中所有自定义的函数

Functions By Category | Alphabetical List Language Fundamentals Entering Commands ...
  • myathappy
  • myathappy
  • 2016年05月06日 09:55
  • 4815

Matlab运算符与运算

Matlab中的运算符分为算术运算符、关系运算符和逻辑运算符三种。这三种运算符可以分别使用,也可以同时出现。相信各位对其他语言都有很高造诣的大神们对这些东西都不屑一顾了,但是有个别细节方面还是不一样的...
  • xingjiarong
  • xingjiarong
  • 2016年01月26日 08:33
  • 5412

matlab自带各种分类器的使用示例

目前了解到的MATLAB中分类器有:K近邻分类器,随机森林分类器,朴素贝叶斯,集成学习方法,鉴别分析分类器,支持向量机。现将其主要函数使用方法总结如下,更多细节需参考MATLAB 帮助文件。 设 ...
  • u014114990
  • u014114990
  • 2016年04月05日 18:50
  • 13934
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Random_Select
举报原因:
原因补充:

(最多只允许输入30个字)