PDA

View Full Version : سوال: مرتب سازی لیست پیوندی یک طرفه ! با جابجایی اشاره گر نه تغییر اعضا :|



UfnCod3r
چهارشنبه 25 بهمن 1391, 19:05 عصر
سلام
من می خوا م لیست پیوندی یک طرفه رو مرتب کنم ! می خوایم جای اشاره گر ها عوض بشه نه اینکه مقدار عضو ها تغییر کنه !
هرچی کشتم چیز خوبی پیدا نکردم ! اخر خودم اینو نوشتم ! کار می کنه ولی انگار درست مرتب نمی کنه !

class XObject
{
XObject* next;
int depth;
//...
};
class Scene
{
XObject* startObj;
XObject* endObj;
void sort();
//...
};


void Scene::sort()
{
XObject* $objA = startObj;
XObject* $objAPre = NULL;
while($objA)
{
XObject* $objB = $objA;
XObject* $objBPre = $objAPre;
XObject* $objBNext;
while($objB)
{
$objBNext = $objB->next;
if($objBNext)
{
if($objB->depth > $objBNext->depth)
{
if($objBPre)
{
if($objBNext->next)
{
$objBPre->next = $objBNext;
XObject* $tmp = $objBNext->next;
$objBNext->next = $objB;
$objB->next = $tmp;
}
else
{
$objBPre->next = $objBNext;
XObject* $tmp = $objBNext->next;
$objBNext->next = $objB;
$objB->next = $tmp;
startObj = $objB;
}


}
else
{
if($objBNext->next)
{
startObj = $objBNext;
XObject* $tmp = $objBNext->next;
$objBNext->next = $objB;
$objB->next = $tmp;
}
else
{
startObj = $objBNext;
XObject* $tmp = $objBNext->next;
$objBNext->next = $objB;
$objB->next = $tmp;
endObj = $objB;
}
}
}
}

$objBPre = $objB;
$objB = $objB->next;
}

$objAPre = $objA;
$objA = $objA->next;
}
}

لطفا یکی این مرتب سازیشو برام بنویسه خسته شدم !
:گریه:
:گریه:

pswin.pooya
چهارشنبه 25 بهمن 1391, 22:35 عصر
این علامت $ قبل از متغییرهای چیه؟

UfnCod3r
پنج شنبه 26 بهمن 1391, 10:18 صبح
این علامت $ قبل از متغییرهای چیه؟

تو نام گزاری متغیر ها و کلاس ها و .. مجازه ! البته من تو ویژال سی پلاس کامپایل می کنم نمی دونم تو بقیه هم می شه یا نه !
خیلی کاراتر های دیگم میشه ! فارسی هم میشه ! البته فارسی بد میشه !
من متغیر های لوکال رو با $ شروع می کنم تا با بقیه قاطی نشه !:لبخند:
شبه پی اچ پی شده !:متفکر:

pswin.pooya
پنج شنبه 26 بهمن 1391, 14:47 عصر
تو نام گزاری متغیر ها و کلاس ها و .. مجازه ! البته من تو ویژال سی پلاس کامپایل می کنم نمی دونم تو بقیه هم می شه یا نه !
خیلی کاراتر های دیگم میشه ! فارسی هم میشه ! البته فارسی بد میشه !
من متغیر های لوکال رو با $ شروع می کنم تا با بقیه قاطی نشه !:لبخند:
شبه پی اچ پی شده !:متفکر:

نمی دونستم باید تست کنم. این قضیه فکر نکنم استاندارد باشه

UfnCod3r
پنج شنبه 26 بهمن 1391, 22:17 عصر
مشکلم حل شد ! اصلا این کدم درسته که ! :متفکر: :قهقهه:
ممنون از همگی :چشمک: