我的输出是20个随机1,而不是10和1之间,任何人都可以解释为什么会发生这种情况?
#include <iostream>
#include <ctime>
#include <cstdlib>
using namespace std;
int main()
{
srand((unsigned)time(0));
int random_integer;
int lowest=1, highest=10;
int range=(highest-lowest)+1;
for(int index=0; index<20; index++){
random_integer = lowest+int(range*rand()/(RAND_MAX + 1.0));
cout << random_integer << endl;
}
}
Run Code Online (Sandbox Code Playgroud)
输出:1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
我正在尝试用 C++ 编写一种树状结构。就像在每一棵树上都有树枝和树叶一样。一个分支可以包含其他分支以及叶子。现在我的实现要求每个分支和叶具有不同的功能。所以例如。取树状结构
Root
| |
Branch1 Branch2 Branch3
| | |
Leaf1 Leaf2 Branch4
Run Code Online (Sandbox Code Playgroud)
现在每个叶子和分支都有一个不同的函数来执行,所以叶子1会有一个名为leaf1_func的函数,叶子2会有叶子2_func,分支4有分支4_func。
我最初试图实现复合设计模式。但这意味着我将拥有与叶子一样多的类。但由于我有大量的树叶和树枝,我想避免创建更多的类。我意识到这是一个不寻常的情况,但希望有人能在这方面帮助我。在不创建太多类的情况下实现这棵树的最佳方法是什么。
我也在使用 map STL 容器来存储数据,我想使用这个树实现来解决 TSP 问题中的这个问题。
#include <cstdlib>
#include <iostream>
#include <map>
using namespace std;
int n=4;
int min=1, max=10;
struct graph
{
int nodes;//total no. of nodes or vertices namely cities
std::map<std::pair<int,int>, int> graphMap;//an object that links a pair of vertices
};
void directed_Graph(graph);
void directed_Graph(graph G)
{
//int n = G->nodes; //city count
int i, j;
for(i = 0; i <= …
Run Code Online (Sandbox Code Playgroud) 我收到一个错误:int
在我尝试在bool函数中返回2个值之前,期望的primary-expression ,我认为它是一个成员函数错误.
bool binaryTreeTraversal::LeafNode(int node)
{
return (binaryTreeTraversal::LeftPtr(int node) == NULL &&
binaryTreeTraversal::RightPtr(int node) == NULL);
}
class binaryTreeTraversal
{
public:
int TreeNodes[2^5];
int size;
binaryTreeTraversal(void);
bool LeafNode(int node);
int RootNode(int node);
int LeftPtr(int node);
int RightPtr(int node);
int length();
int preOrderTraversal(int);
int inOrderTraversal(int);
int postOrderTraversal(int);
};
bool binaryTreeTraversal::LeafNode(int node)
{
return (binaryTreeTraversal::LeftPtr(node) == NULL &&
binaryTreeTraversal::RightPtr(node) == NULL);
}
Run Code Online (Sandbox Code Playgroud) 我的导师给了我们一些示例代码,她使用了一个\a1
\a2
\a3
\a4
\a5
可以有人告诉我它用于什么?我无法在线或在我的教科书中找到它?
cout<<"\n\t\a\a1----INSERT A NODE IN A BINARY TREE.\a\a";
cout<<"\n\t\a\a2----PRE-ORDER TRAVERSAL.\a\a";
cout<<"\n\t\a\a3----IN-ORDER TRAVERSAL.\a\a";
cout<<"\n\t\a\a4----POST-ORDER TRAVERSAL.\a\a";
cout<<"\n\t\a\a5----EXIT.\a\a";
cout<<"\n\t\a\aENTER CHOICE::\a\a";
Run Code Online (Sandbox Code Playgroud)