⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 binstrlen.cpp

📁 几个实用算法:质数 组合数 公约数 字符串长度
💻 CPP
字号:
/*
  Name: 
  Copyright: Seu.Edu.Cn
  Author: ufouser
  Id: 09002611
  Date: 
  Description:    			
  
*/


#include <iostream>
#include <cstdlib>
#include <ctime>
#include <cstring>
#include <memory>
using namespace std;

long BinStrlen(const char * str, long maxLen)
{
 	if (str[0] == '\0')
 	{
 		return 0;
 	}
 	// 下面的求时间的过程可以忽略不计 
 	long l = 0; 
 	long r = maxLen;
 	long m;
 	long len = 0;
 		
 	while (l <= r)
 	{
 		m = (l + r) / 2;
 		if (str[m] == '\0')
 		{
 			r = m - 1;
 		}	
 		if (str[m] != '\0')
 		{
 			l = m + 1;
 			len = m;
 		}
   	}
   	return len + 1;
}

int main()
{

	char str[2001];
	memset(str,'\0',sizeof(str));
	// str[0] = 'a';
	cout << "defalut=" << BinStrlen(str,2000) << endl;
	for (long i = 0; i < 20; ++i)
	{
 		str[i] = 'a';
		cout << BinStrlen(str,2000) << endl;
		
	}	
	
    
    system("PAUSE");	
    return 0;
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -