二叉树的 先序,中序,后序
#include<iostream>
using namespace std;
struct Node{
int value;
Node *left, *right;
};
class BT{
public:
Node *root;
BT(){
root = NULL;
}
void insert(int value){
if (root == NULL){
root = new Node;
root->value = value;
root->left = NULL;
root->right = NULL;
}
else{
Node *current = root;
while (1){
if (value < current->value){
if (current->left == NULL){
current->left = new Node;
current->left->value = value;
current->left->left = NULL;
current->left->right = NULL;
break;
}
else{
current = current->left;
continue;
}
}
else{
if (current->right == NULL){
current->right = new Node;
current->right->value = value;
current->right->left = NULL;
current->right->right = NULL;
break;
}
else{
current = current->right;
continue;
}
}
}
}
}
void inorder(Node *current){
if (current == NULL)
return;
inorder(current->left);
cout << current->value << "\t";
inorder(current->right);
}
void preorder(Node *current){
if (current == NULL)
return;
cout << current->value << "\t";
preorder(current->left);
preorder(current->right);
}
void postorder(Node *current){
if (current == NULL)
return;
postorder(current->left);
postorder(current->right);
cout << current->value << "\t";
}
};
int main(){
int mylist[] = { 4, 3, 1, 5, 8, 2 };
BT *mytree = new BT();
for (int i = 0; i < 6; i++){
mytree->insert(mylist[i]);
}
mytree->inorder(mytree->root);
cout << endl;
mytree->preorder(mytree->root);
cout << endl;
mytree->postorder(mytree->root);
char a;
cin >> a;
}
一个随机生成字母的c代码
#include <stdio.h>
#include <stdlib.h>
int main()
{
int i,n;
printf("输入字符串长度:");
scanf("%d",&n);
char *buffer=(char*)malloc(n+1);
if (buffer==NULL) exit(1);
for (i=0;i<n;i++)
buffer[i]=rand()%26+'A';
buffer[n]='\0';
printf("随机生成的字符串为:%s\n",buffer);
free(buffer);
system("pause");
return 0;
}