极品wordpress素材教程网站网站后台生成html
web/
2025/10/4 4:26:36/
文章来源:
极品wordpress素材教程网站,网站后台生成html,赣州章贡区,网易企业邮箱的登录方法总目录 1.rand()随机数函数2.函数模板(19年写一个二分查找函数模板用递归) 1.rand()随机数函数
是C标准库 cstdlib 中的一个随机数生成函数#xff0c;用于生成伪随机数。它返回一个在0到RAND_MAX之间的整数#xff0c;RAND_MAX是一个预定义的常量#xff0c;通常是… 总目录 1.rand()随机数函数2.函数模板(19年写一个二分查找函数模板用递归) 1.rand()随机数函数
是C标准库 cstdlib 中的一个随机数生成函数用于生成伪随机数。它返回一个在0到RAND_MAX之间的整数RAND_MAX是一个预定义的常量通常是一个较大的整数值至少32767。
使用 rand() 函数之前通常需要调用 srand() 函数来初始化随机数种子以确保每次程序运行时都能生成不同的随机数序列。srand() 函数的参数是一个整数通常使用当前时间作为种子例如
#include cstdlib
#include ctimeint main() {// 使用当前时间作为随机数种子srand(time(0));// 生成一个随机数int random_number rand();return 0;
}需要注意的是rand() 函数生成的随机数序列是伪随机的因为它是根据种子值计算的而种子值通常是由系统时间提供的所以在同一秒钟内调用 rand() 生成的随机数是相同的。如果需要更复杂的随机数生成算法可以考虑使用 random 头文件中的更高级的随机数库。 先用随机函数(rand)按列优先初始化一个3行4列的数组(数组中元素的范围是【1,9】),然后判断该数组中是否有鞍点(即是否存在既是行上最大又是列上最小的元素) #include iostream
#include cstdlib
#include ctimeusing namespace std;// 初始化数组
void initializeArray(int array[][4], int rows, int cols) {srand(time(0)); // 使用当前时间作为随机数种子for (int j 0; j cols; j) {for (int i 0; i rows; i) {array[i][j] rand() % 9 1; // 生成范围在1到9之间的随机数}}
}// 判断是否为鞍点
bool isSaddlePoint(int array[][4], int rows, int cols, int rowIndex, int colIndex) {int element array[rowIndex][colIndex];// 检查是否为行上最大值for (int j 0; j cols; j) {if (array[rowIndex][j] element) {return false; // 不是行上最大值不是鞍点}}// 检查是否为列上最小值for (int i 0; i rows; i) {if (array[i][colIndex] element) {return false; // 不是列上最小值不是鞍点}}return true; // 既是行上最大又是列上最小是鞍点
}int main() {int array[3][4];initializeArray(array, 3, 4);// 打印数组cout Array: endl;for (int i 0; i 3; i) {for (int j 0; j 4; j) {cout array[i][j] ;}cout endl;}// 判断是否存在鞍点bool hasSaddlePoint false;for (int i 0; i 3; i) {for (int j 0; j 4; j) {if (isSaddlePoint(array, 3, 4, i, j)) {cout Saddle point found at position ( i , j ): array[i][j] endl;hasSaddlePoint true;}}}if (!hasSaddlePoint) {cout No saddle point found. endl;}return 0;
}
2.函数模板(19年写一个二分查找函数模板用递归)
当然请看下面的函数模板示例
#include iostream
using namespace std;// 定义一个函数模板
template typename T
T maximum(T x, T y) {return (x y) ? x : y;
}int main() {// 在模板函数中使用整数cout Maximum of 5 and 10 is: maximum(5, 10) endl;// 在模板函数中使用浮点数cout Maximum of 3.5 and 7.8 is: maximum(3.5, 7.8) endl;// 在模板函数中使用字符cout Maximum of a and z is: maximum(a, z) endl;return 0;
}这个例子中maximum() 是一个函数模板它可以比较不同类型的参数并返回两者中的最大值。在 main() 函数中我们分别使用了整数、浮点数和字符来调用 maximum() 函数模板并输出了结果。在调用时编译器会根据实参的类型自动生成对应的函数实例。 二分查找函数模板 以下是一个二分查找函数模板的示例 #include iostream
#include vector
using namespace std;// 定义一个函数模板
templatetypename T
int binarySearch(const vectorT sortedArray, const T key) {int left 0;int right sortedArray.size() - 1;while (left right) {int mid left (right - left) / 2;if (sortedArray[mid] key) {return mid; // 找到了} else if (sortedArray[mid] key) {left mid 1; // 在右半部分继续查找} else {right mid - 1; // 在左半部分继续查找}}return -1; // 没有找到
}int main() {vectorint numbers {1, 3, 5, 7, 9, 11, 13, 15};int key 7;int index binarySearch(numbers, key);if (index ! -1) {cout Element found at index: index endl;} else {cout Element not found. endl;}return 0;
}这个示例中binarySearch() 函数模板接受一个已排序的数组和一个要查找的关键字并返回关键字在数组中的索引如果存在否则返回 -1。在 main() 函数中我们使用一个已排序的整数向量调用了 binarySearch() 函数模板并输出了结果。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/86588.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!