mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H
 
#include <QMainWindow>
#include <QTreeWidgetItem>
 
namespace Ui {
class MainWindow;
}
 
struct item;
 
class MainWindow : public QMainWindow
{
    Q_OBJECT
 
public:
    explicit MainWindow(QWidget *parent = 0);
    ~MainWindow();
 
    void print (QTreeWidgetItem * branch, item * p);
 
private slots:
    void on_actionRun_triggered();
 
private:
    Ui::MainWindow *ui;
};
 
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
 
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}
 
MainWindow::~MainWindow()
{
    delete ui;
}
 
 
struct item {
    int key;
    item* left;
    item* right;
};
 
item* root=0;
 
item* search(int k){
    item* p=root;
    while (p!=NULL)
    {
       if (k < p->key)
           p = p->left;
       else if(k > p->key)
           p = p->right;
       else return p;
    }
    return p;
}
 
 
void enter (item * & p, int k){
    if (p==NULL)
    {
       item * u = new item;
       u->key = k;
       u->left = NULL;
       u->right = NULL;
       p = u;
    }
    else if (k < p->key)
       enter (p->left, k);
    else if (k > p->key)
       enter (p->right, k);
}
 
void insert (int k) {
    enter (root, k);
}
 
void MainWindow::print (QTreeWidgetItem * branch, item * p)
{
    if (p != NULL)
    {
        QTreeWidgetItem * u = new QTreeWidgetItem;
        u->setText (0, QString::number (p->key));
 
        if (branch == NULL)
            ui->treeWidget->addTopLevelItem (u);
        else
            branch->addChild(u);
 
        print (u, p->left);
        print (u, p->right);
    }
}
 
void MainWindow::on_actionRun_triggered()
{
    insert (7);
    insert (5);
    insert (10);
    insert (1);
    insert (6);
    insert (42);
 
    insert  (17);
    insert  (27);
    insert  (37);
 
    print (NULL, root);
}
 
strom_qt_ctvrtek.txt · Last modified: 2017/03/09 15:15 by 147.32.8.110
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki