หน้า 1 จากทั้งหมด 1

ขอเปลืองกระทู้นิดๆนะ รบกวนแก้โคดให้หน่อยสิ

โพสต์เมื่อ: เสาร์ ต.ค. 10, 2009 21:13
โดย benzkham
เรื่อง: รบกวนแก้โคดให้หน่อยนะ รันไม่ผ่านT T ขอบคุณมากครับ ตาลายละ ส่งพรุ่งนี้ ขอรบกวนหน่อยนะ ขอบคุณครับ
#include <stdio>
#include <conio>

void quickSort(int numbers[], int array_size)
{
q_sort(numbers, 0, array_size - 1);
}
void q_sort(int numbers[], int left, int right)
{
int pivot, l_hold, r_hold;
l_hold = left;
r_hold = right;
pivot = numbers[left];
while (left <right>= pivot) && (left < right))
right--;
if (left != right)
{
numbers[left] = numbers[right];
left++;
}
while ((numbers[left] <= pivot) && (left < right))
left++;
if (left != right)
{
numbers[right] = numbers[left];
right--;
}
}
numbers[left] = pivot;
pivot = left;
left = l_hold;
right = r_hold;
if (left <pivot> pivot)
q_sort(numbers, pivot+1, right);
}

typedef struct tree{ int data;
struct tree *left,*right;
}NODE;

void insert(NODE **root,int data);
void inorder(NODE *root);
void preorder(NODE *root);
void postorder(NODE *root);

void DepthQuick()
{
NODE *root = NULL;
int key,n,i=0;
clrscr();
printf("Enter n : ");
scanf("%d",&n);
while(i<n>data);
preorder(root->left);
preorder(root->right);
}//end preorder

void inorder(NODE *root)
{
if (root==NULL) return ;
inorder(root->left);
printf("%d ",root->data);
inorder(root->right);
}//end inorder

void postorder(NODE *root)
{
if (root==NULL) return ;
postorder(root->left);
postorder(root->right);
printf("%d ",root->data);
}//end postorder

void insert(NODE **root, int val)
{
NODE *newnode;

newnode=(NODE*)malloc(sizeof(NODE));
newnode->right=NULL;
newnode->left=NULL;

if ((*root) == NULL)
{
*root = newnode;
(*root)->data = val;
return;
}
if (val <root>data)
insert(&(*root)->left,val);
else insert(&(*root)->right,val);
}//end
void main()
{
int choice;
clrscr();
do{
printf("\n------------------------------");
printf("\n MENU ");
printf("\n------------------------------");
printf("\n 1. Quick Sort ");
printf("\n 2. Depth-First ");
printf("\n 3. Exit ");
printf("\n------------------------------");
printf("\n Enter choice : ");
scanf("%d",&choice);
while(choice<1>3)
{
printf(" Sorry!!!\n");
printf(" Enter choice again : ");
scanf("%d",&choice);
}
switch(choice)
{
case 1 : Quick();
break;
case 2 : DepthQuick();
break;
case 3 : exit(0);
}
}while(1);

โพสต์เมื่อ: อาทิตย์ ต.ค. 11, 2009 03:13
โดย Little_Devil_15
มันคือ โค๊ตอะไรอ่ะครับ ใครเรียนคอมตอบทีครับ ผมอยากรู้เหมือนกันครับ

โพสต์เมื่อ: อาทิตย์ ต.ค. 11, 2009 04:13
โดย boom
ไม่ได้เขียน C มานานละ

แต่ว่า
#include <stdio>
#include <conio>

&(*root) ตรงนี้แปลกๆ ถ้า root เป็น pointer อยู่แล้วรู้สึกว่าถ้าจะเรียกตำแหน่งมันออกมาก็ใช้แค่ root ก็พอ

ไม่เข้าใจ structure นี้: (val <root>data) จะสื่อว่า (val<root>data) หรือ (val<root>data) หรือเปล่า ไม่เคยเห็นใครใช้เครื่องหมานอย่างนี้คร่อมตัวแปรหรือตัวเลขนะ

อาจจะผิดก็ได้ ไม่ได้เล่นมันนานมาก

โพสต์เมื่อ: อาทิตย์ ต.ค. 11, 2009 04:44
โดย Little_Devil_15
มันคือภาษา C นี่เอง ขอบคุณครับ