loading...
برنامه نویسی
سجاد بازدید : 4858 سه شنبه 13 دی 1390 نظرات (2)

برنامه ای که تابع جستجوی دودویی را به صورت بازگشتی بنویسد

 

#include "stdafx.h"

#include<iostream>

#include<conio.h>

using namespace std;

int A[10], x;

int Partition(int p, int q)

{

    int v, i, u;

    v=A[p];

    i=p;

    do

    {

        do

            p++;

        while(A[p]<v);

        do

            q--;

        while(A[q]>v);

        if(p<q)

        {

            u=A[p];

            A[p]=A[q];

            A[q]=u;

        }

        else

            break;

    }

    while(1);

    A[i]=A[q];

    A[q]=v;

    return q;

}

void QuickSort(int p, int q)

{

    int j;

    if(p<q)

    {

        j=Partition(p, q+1);

        QuickSort(p, j-1);

        QuickSort(j+1, q);

    }

}

int BinSearch(int low, int high, int x, int A[])

{

    int mid;

    if(low>high)

        return -1;

    else

        mid=(low+high)/2;

    if(x==A[mid])

        return mid;

    else if(x<A[mid])

        return BinSearch(low, mid-1, x, A);

    else

        return BinSearch(mid+1, high, x, A);

}

void main()

{

    int i, n=10;

    printf("\nPlease Enter Array Elements:\n");

    for(i=0; i<n; i++)

    {

        printf("A[%d]: ", i+1);

        scanf("%d", &A[i]);

    }

    QuickSort(0, n-1);

    printf("\nThe Array in Sorted Mode:\n");

    for(i=0; i<n; i++)

    {

        printf("A[%d]: %d", i+1, A[i]);

        printf("\n");

    }

    printf("\nPlease Enter a Number for Search: ");

    scanf("%d", &x);

    int Out=BinSearch(0, n-1, x, A);

    if (Out==-1)

        printf("The Number(%d) Not Find.", x);

    else

        printf("The Number Position is: %d", Out+1);

    getch();

}

 

نوشته شده در ویژوال استدیو 2010

ارسال نظر برای این مطلب
این نظر توسط parastoo در تاریخ 1348/10/11 و 9:55 دقیقه ارسال شده است

این برنامه ک نوشتین فک کنم بعداز اولینwhile ی اشکال داره.برنامه ای هم ک داخل وبسایت کلاس گذاشتین بازم باز نشد اصلا ب نظرم برنامه رو ک خودتون زحوتشو میکشین بزارین تو وبلاگ خودتون ک راحتترم باز بشن.خیلی خیلی ممنونشکلکشکلکشکلک
پاسخ : ممنون که به رفع مشکل برنامه کمک کردن
بخاطر کد هایی بود که با کد برنامه وبلاگ اشتبا ه گرفته بود


کد امنیتی رفرش
اطلاعات کاربری
  • فراموشی رمز عبور؟
  • نویسندگان
    آمار سایت
  • کل مطالب : 33
  • کل نظرات : 18
  • افراد آنلاین : 1
  • تعداد اعضا : 446
  • آی پی امروز : 23
  • آی پی دیروز : 27
  • بازدید امروز : 25
  • باردید دیروز : 43
  • گوگل امروز : 0
  • گوگل دیروز : 3
  • بازدید هفته : 68
  • بازدید ماه : 598
  • بازدید سال : 3,907
  • بازدید کلی : 141,825