اطلاعیه

Collapse
No announcement yet.

در خواست یک الگوریتم خیلی ساده!

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    در خواست یک الگوریتم خیلی ساده!

    سلام
    من دنبال یه الگوریتم ساده برای بخشی از یه برنامه می گردم. ( زبان C )
    من یه روال وقفه تو برنامه دارم و می خوام هر وقت که وارد این روال شدم، یکی در میون دو تا مقدار مختلف ( و مشخص ) رو بریزم تو یه متغیر. یعنی هر بار یکی از مقادیر. می دونم برای این کار n تا راه وجود داره. اما زمان اجراش برام خیلی مهمه. می خوام تا حد امکان کوتاه باشه.
    ببخشید که سوالم خیلی ساده ست!
    ممنون

    #2
    پاسخ : در خواست یک الگوریتم خیلی ساده!

    یک راه حلش این میتونه باشه:
    همیشه مفدار a را بریزی توی varia
    le بعدش جای a و b را عوض کنی
    که این swap کردن هم میشه با متغیر کمکی باشه هم بدون متغیر کمی
    با متغیر کمکی حافظه بیشتری مش گیره اما سرعت بالا تره چون دیگه ضرب و تفسیم نداره

    var=a
    c=a
    a=b
    b=a

    OR

    var=a
    a=a*b
    b=a\b
    a=a\b



    دیدگاه


      #3
      پاسخ : در خواست یک الگوریتم خیلی ساده!

      سلام بزرگان

      با فرض اینکه دو مقدار a و b باشن ومتغیر v باشه:
      شما در ابتدای برنامه یا قبل از این تکه از برنامه که حلقه یا هر چیز دیگه ای میتونه باشه یکی از این مقادیرو به متغیره میدی. مثلا:
      int v=a;

      بعد از این کد میتونی تو حلقه ت استفاده کنی:
      v=(v=a)?b:a;
      یا این یکی:
      if (v=a) v=b; else v=a;

      میتونی اینو تو یه تابع inline استفاده کنی تا سرعتش بازم بالاتر بره.


      Upload your files Here. Great Azeri Resumable File Host: http://endir.az/index.php?lang=5

      دیدگاه

      لطفا صبر کنید...
      X