扑克顺子

来源:互联网 发布:urlencode php utf8 编辑:程序博客网 时间:2024/04/29 01:30
// DataStructure.cpp : 定义控制台应用程序的入口点。//#include "stdafx.h"#include "stdlib.h"#include <ctime>void random(int *data,int length,int *result,int m){srand((unsigned)time(0));for (int i = 0; i < m; i++){int index=rand()%(length-i);result[i]=data[index];//放到后面,避免下次随机到int temp=data[index];data[index]=data[length-1-i];data[length-1-i]=temp;}}int compare(const void *arg1,const void *arg2){return *(int *)arg1-*(int *)arg2;}bool IsContinuous(int *numbers,int length){if (numbers==NULL||length<1){return false;}qsort(numbers,length,sizeof(int),compare);int numberOfZero=0;int numberOfGap=0;for (int i = 0; i < length&&numbers[i]==0; i++)++numberOfZero;//下标int small=numberOfZero;int big=small+1;while (big<length&&numberOfGap<=numberOfZero){if (numbers[small]==numbers[big]){return false;}numberOfGap+=numbers[big]-numbers[small]-1;small=big;++big;}return (numberOfGap>numberOfZero)?false:true;}int _tmain(int argc, _TCHAR* argv[]){int data[]={0,0,1,2,3,4,5,6,7,8,9,10,11,12,13};int length=sizeof(data)/sizeof(int);//printf("%d\n",length);int n=length;int m=5;int *picked=new int[m];random(data,length,picked,m);for (int i = 0; i < m; i++){printf("%d\t",picked[i]);}printf("\n%d\t",IsContinuous(picked,m));return 0;}

0 0