#include <iostream>
using namespace std;
class sort1{
public: void mergelist(int Data[], int first, int mid, int last);
void mergeSort(int A[], int ledt, int right);
};
// trien khai cac ham trong class
void sort1::mergelist(int Data[], int first, int mid, int last){
int tmp[100];
int first1 = first;
int last1 = mid;
int first2 = mid+1;
int last2 = last;
int index = first1;
while((first1<=last1)&&(first2<=last2)){
if(Data[first1]<Data[first2]){
tmp[index] = Data[first1];
first1++;
}
else{
tmp[index] = Data[first2];
first2++;
}
++index;
}
while(first1<=last1){
tmp[index] = Data[first1]; // sao not cac phan tu con lai vao mang nho
++index;
++first1;
}
while(first2<=last2){
tmp[index] = Data[first2]; // sao not cac phan tu con lai vao mang nho
++index;
++first2;
}
for(index = first;index<=last; index++){
Data[index] = tmp[index];
}
}
// goi ham mergeSort
void sort1::mergeSort(int A[], int left, int right){
if(left>=right) return;
else{
int mid=(left+right)/2;
mergeSort(A, left, mid);
mergeSort(A, mid+1, right);
mergelist(A, left, mid, right);
}
}
int main()
{
sort1 srt;
int A[100];
int n;
cout<<"Nhap so phan tu cua mang: "<<endl;
cin>>n;
for(int i=1; i<=n; i++){
cout<<"Phan tu thu "<<i<<" la: ";
cin>>A[i];
}
srt.mergeSort(A,1,n);
for(int i=1; i<=n; i++){
cout<<" "<<A[i];
}
return 0;
}
Công
việc quan trọng, nhưng không phải vì vậy mà chúng ta xem
đó là mục tiêu hàng đầu phải đạt được. Để có
thể làm việc tốt bạn cần có một hậu phương vững
chắc, đó chính là gia đình. Gia đình là yếu tố vô
cùng quan trọng quyết định đến thành công của bạn.
Đó là nơi để bạn quan tâm, chăm sóc và lo lắng. Bạn
hãy nghĩ rằng, tất cả những gì mình làm, mình cố gắng
không phải vì lợi ích bản thân mà là vì gia đình và
xã hội. Vì thế, bí quyết để thành công trong cuộc
sống là phải biết dung hòa giữa gia đình và công việc
trong bất kỳ hoàn cảnh nào.
2.Quý
trọng thời gian
Bạn
không chỉ có thời gian làm việc mà phải có thời gian
nghỉ ngơi, thời gian dành cho gia đình, người thân, bạn
bè. Vì vậy, ngay từ lúc này bạn hãy xem lại những gì
mình đã làm trong thời gian qua và những việc sẽ làm
sắp tới để có một thời gian biểu thật khoa học cho
công việc và trong cuộc sống hàng ngày
Biết
quý trọng thời gian sẽ cho bạn một cuộc sống thoải
mái và ý nghĩa hơn rất nhiều. Bởi vậy, đừng bao giờ
để lãng phí thời gian với bất kỳ ly do gì. Điều đó
sẽ góp phần rất lớn cho thành công trong cuộc sống của
bạn.
3.
Không thể thiếu những nguyên tắc và niềm tin
Trong
cuộc sống nếu không có những nguyên tắc thì chắc chắn
bạn sẽ không thể đạt đến đỉnh cao của thành công.
Nguyên tắc giúp xây dựng cách sống, cách làm việc và
mang lại hiệu quả cao trong công việc và cuộc sống. Tuy
nhiên bạn cần phân biệt rõ nguyên tắc trong công việc,
trong cuộc sống cá nhân, gia đình. Không thể mang những
nguyên tắc trong công việc áp đặt vào cuộc sống riêng
và ngược lại. Có những nguyên tắc đúng đắn và khoa
học là một trong những bí quyết không thể thiếu để
giúp bạn thành công trong cuộc sống hiện đại bây giờ.
4.
Lòng đam mê, hành động và kiên trì
Thời
gian giúp bạn thực hiện những điều mình muốn. Nguyên
tắc giúp cho cuộc sống và công việc của bạn được
thực hiện một cách có khoa học. Còn lòng đam mê sẽ
thôi thúc bạn đi đến hành động và giúp bạn kiên trì
hơn để đạt được những gì mình muốn.
Sự
kiên trì giúp cho ý chí và quyết tâm trong bạn càng được
nâng cao và vững chắc hơn. Trong cuộc sống chúng ta sẽ
gặp nhiều khó khăn rào cản và có thể sẽ có cả những
thất bại. Nhưng nếu bạn thật sự là một người kiên
trì thì tất cả những điều đó sẽ bị đẩy lùi lại
phía sau, nhường đường cho những điều tốt đẹp ở
phía trước.
5.
Không nuối tiếc
Thêm
một bí quyết giúp bạn thành công trong cuộc sống là
không nên nuối tiếc. Trong cuộc sống chắc chắn sẽ có
nhiều chuyện khiến mình không vui, không hài lòng hoặc
có thể mình bỏ lỡ những cơ hội mà đáng ra đã nắm
được trong tay. Tuy nhiên, không phải vì vậy mà bạn cho
phép bản thân chán nản và nhắc đến việc đó mãi
giống như sự tiếc nuối. Thay vào đó, hãy xem những
điều đã mất như một bài học kinh nghiệm cho cuộc
sống để cố gắng đạt được những điều lớn hơn.
6.
Không làm những việc quá khả năng
Warren
Buffett - Nhà tiên tri xứ Omaha, người giàu thứ ba thế
giới từng nói: “Tôi không thích nhảy qua những bức
rào cao 2 mét. Tôi chỉ tìm những bức rào cao 30cm để có
thể bước qua”.
Một
dự định quá lớn sẽ khiến cho bạn dễ mệt mỏi và
chán nản. Vậy tại sao bạn không chọn những công việc
vừa sức với mình để thực hiện. Một gia đình hạnh
phúc hay một công việc yêu thích sẽ giúp bạn cảm thấy
cuộc sống ý nghĩa hơn rất nhiều. Ai cũng có những ước
mơ của riêng mình, nhưng phải xác định rõ rằng không
thể bằng một bước bạn sẽ đạt được ước mơ đó.
Hãy bắt đầu với những gì bạn có thể làm được và
dần vươn tới những điều cao hơn, xa hơn.
7.Không
biết thỏa mãn
Thành
công chỉ đến với những ai biết cố gắng và luôn có
những khát vọng trong cuộc sống. Nếu bạn chỉ đọc
hết một quyển sách và cho như vậy là đủ thì không
bao giờ bạn có thêm kiến thức, kỹ năng cho bản thân.
Trong cuộc sống và công việc cũng vậy, cuộc sống luôn
là những thử thách và bạn phải tìm cách vượt qua tất
cả những thử thách đó. Nếu bạn dễ dàng thõa mãn với
những gì mình đã làm được điều đó đồng nghĩa với
việc bạn đã chấp nhận bỏ cuộc. Hãy luôn có những
dự định mới trong cuộc sống và cố gắng để đạt
được nó, có như vậy bạn mới thật sự là người
thành công.
8.Dám
nghĩ, dám làm
Khi
bắt đầu làm bất kỳ công việc gì bạn cũng hãy nghĩ
đến những rủi ro và dũng cảm đón nhận nó. Hãy nhớ
là bạn có thể làm bất cứ điều gì bạn muốn. Đừng
để người ta nói rằng, bạn không đủ thông minh... Việc
đó quá khó… đó là một ý tưởng dở hơi… chưa ai
từng làm như vậy. Cuộc sống của bạn là do bạn tự
quyết định, vì thế nếu bạn chỉ dừng lại ở những
suy nghĩ thì thành công sẽ không bao giờ đến. Những
nguyên tắc, niềm tin và sự kiên trì sẽ giúp bạn dám
làm những điều mình muốn.
“Nếu
bạn không tự xây ước mơ của mình thì người khác sẽ
thuê bạn xây ước mơ của họ”. Đừng để những ước
mơ của bạn lụi tàn theo thời gian. Hãy bắt tay hành
động ngay khi có những dự định và nhớ hãy đặt ra
cho mình những nguyên tắc trong cuộc sống, cùng sự kiên
trì và quyết tâm cao để khi kết thúc công việc dù
thành công hay thất bại cũng không phải nuối tiếc.
Đôi khi thất bại chưa phải là kết thúc. Đời người là một chặng đường dài, trên chặng đường đó sẽ có những lúc bạn thành công rực rỡ nhưng nhiều lúc bạn cũng phải chịu đựng những áp lực, đau khổ. Không quan trọng bạn đã trải qua bao nhiêu khó khăn, mà quan trọng bạn đã đối mặt với những khó khăn đó như thế nào. Có những người chốn tránh, có những người không làm gì cả và tất nhiên có những con người dũng cảm đối mặt với nó. Dù cho bạn đã chọn giải pháp nào đi chăng nữa thì khó khăn sớm muộn gì cũng qua đi. Chính vì vậy bạn cần nhìn nhận cuộc sống dưới một góc nhìn lạc quan. Điểm kết thúc của quá trình này sẽ là điểm bắt đầu quá trình khác. Hãy cứ cố gắng lên.
#include <iostream>
#include <stdlib.h>
using namespace std;
// khai bao cau truc
struct node{
int Data;
struct node *pLeft;
struct node *pRight;
};
typedef struct node NODE;
typedef NODE *Tree;
// khoi tao cay
void Init(Tree &t){
t=NULL;
}
// Tao Node tren cay
NODE *makeNode(int x){
NODE *p = new NODE;
if(p==NULL) return NULL;
else{
p->Data = x;
p->pLeft = p->pRight = NULL;
}
return p;
}
// Insert Node vao cay
void insertNode(Tree &t, int x){
if(t==NULL){ // cay rong => x la Node goc
NODE *p = new NODE;
p=makeNode(x);
t=p;
}
else {
if(t->Data > x){
insertNode(t->pLeft,x);
}
else if(t->Data < x){
insertNode(t->pRight,x);
}
}
}
// Nhap du lieu cho cay
void inputTree(Tree &t){
Init(t);// phai khoi tao cay truoc thi moi co the nhap du lieu cho cay
cout<<"Nhap du lieu cho cay\n";
cout<<"An phim 0 de det thuc \n";
int x;
do{
//int x;
cout<<"Nhap Node: ";
cin>>x;
if(x!=0) {
insertNode(t,x);
}
// else break;
}while(x!=0);
}
// Xuat su lieu
void output(Tree &t){
if(t!=NULL){
cout<<t->Data<<" ";
output(t->pLeft);
output(t->pRight);
}
}
// tim phan tu trong cay
NODE *searchTree(Tree &t, int x){
if(t==NULL) return NULL;
else if(t->Data<x) searchTree(t->pRight,x);
else if(t->Data>x) searchTree(t->pLeft,x);
else return t;
}
// Tim phan tu q bi xoa, cho phan tu p len thay the
void thaythe(Tree &q, Tree &p){
// tim phan tu trai nhat cua cay ben phai
//if(t==NULL) return;
if(p->pLeft!=NULL){
thaythe(q,p->pLeft);
}
else {
q->Data = p->Data;
q=p;
p=p->pRight;
}
}
// xoa phan tu
void delTree(Tree &t, int x){
if(t==NULL) return;
if(t->Data > x) delTree(t->pLeft,x);
if(t->Data < x) delTree(t->pRight,x);
if(t->Data == x) { // khi tim ra phan tu do roi
// xoa Node la hoac Node co 1 phan tu
NODE *q = t;// xoa phan tu bang con tro
if(t->pLeft==NULL) { // neu ma ben traiphan tu do bang NULL
t=t->pRight; // cho t tro toi t->pRight
}
else if(t->pRight==NULL){
t=t->pLeft;
}
// xoa Node co 2 phan tu Trai va Phai
else thaythe(q,t->pRight);
delete q;
}
}
int main()
{
Tree t;
int k,x;
inputTree(t);
output(t);
cout<<endl<<"Nhap so ban muon tim:";
cin>>x;
NODE *p = searchTree(t,x);
if(p==NULL) cout<<"Khong tim thay";
else cout<<"Co tim thay";
cout<<endl<<"Nhap phan tu can xoa:";
cin>>k;
delTree(t,k);
output(t);
return 0;
}