مرتب سازي بر اساس الفباي فارسي و انگليسي بصورت متداخل !

CaptanBlack

Member
سلام

دوستان تا حالا شده بخواهيد Sort فارسي بكنيد ؟
من برام فرقي نداره كه از چه زبوني استفاده كردين تحت وب يا مستقل ! من خودم يك الگوريتم براي ترتيب الفباي فارسي نوشتم اما زياد به دلم نمي چسبه - در ظاهر كار ميكنه و مشتري را قانع ولي يه حرفه اي مي فهمه چه جاهايي ضعف داره !

همونطور كه ميدونين حروف فارسي دو بايتي هستند و انگليسي ها يك بايتي . يعني اگه طول كلمه :وحيد: را بگيريد :) ها حساب نيست) 8 را بر ميگردونه و :وحيد 1a: بهتون 11 را بر مي گردونه ! همين مشكل باعث ميشه مقايسه تك به تك حروف پدر در بياره !

من دنبال يك الگوريتم قوي براي مرتب سازي متون بر اساس حروف الفبايي هستم
كسي چيزي سراغ نداره ؟
 

CaptanBlack

Member
مرسي عزيزان !

ميخك جان - يه بررسي مي كنم ببينم كار ميده يا نه !!
اكسيژن ! مهم نيست الگوريتم من چيه - چون اصولي نيست - مي خواستم ببينم شما از چه الگوريتمي استفاده ميكنيد !
 

CaptanBlack

Member
سلام

ميخك دمت گرم !
خيلي كد با حالي بود - من تونستم به Delphi - VB هم بنويسمش ! (آخه من به PHP و Open Source ها آلرژي بدي دارم )

خدا ريشه Unicode را بكنه كه اگه مي تونست براي بعضي حروف بجاي استفاده از Ascii Code #217,218,219 همون كد 216 را استفاده كنه در نتيجه مرتب سازي فارسي نيازي به تبديل كاراكتر ها نداشت !
راستي اون دو تا گل پسر از كدهاي اعداد براي جايگزيني استفاده كردند كه فكر كنم براي اعداد مشكل سازي بشه !

بازم ممنون !
 

oxygenws

Active Member
سلام،

خدا ریشه یونیکد رو قوی تر کنه که تونست بالاخره یک استاندارد کامل و درست (البته فعلا کمی ناقص ولی در حال پیشرفت) برای تمام سیستم عامل ها و تمام اینترفیس ها درست کنه :)

یکی از اون دو تا پسر گلی که توی لینکی که میخک داد وجود داشتند من بودم. اون برنامه حدودا دو سال پیش نوشته شد و همچین روش خارق العاده ای نبود و ما هم می دونستیم که باگ داره، خیلی هم داره. اگه می خوای اونقدر بهت باگ تو همون معرفی کنم که بهشون فکر هم نکرده باشی :) شاید بزرگترین باگش که قبلا هم به بچه های همینجا گفتم، روی کاراکتر "الله" (اشتباه نکردم هااا "کاراکتر" الله) که در ویندوز تایپ بشه هستش.

موفق باشید، امید
 

CaptanBlack

Member
سلام

به به - مرسي كه خودتو معرفي كردي ! اولا از آشنايي كلي خوشبختم در ضمن قصد من ايراد گرفتن نبود - تازه كلي شما را دعا هم كردم !

نقل قول :

؛دمت گرم ؛ به شما بر مي گرده !

پايان نقل قول


اميد از ايده تون خيلي خوشم اومد ! من خيلي الگوريتم نوشتم - از مقايسه كاراكتر كاراكتر با مرتب سازي سريع گرفته تا اين اواخر كه مشكلات حروف فارسي با طول 2 كاراكتر و انگليسي كه تك كاراكتر هستند - تا كد شما را ديدم و فهميدم چقدر ساده همه كارا را سپردي دست همون مرتب سازي انگليسي و تازه سرعتش از كد من خيلي بالا تره !

من را كه خيلي كمك كردي و واقعا ازت ممنونم - در ضمن خيلي دلم مي خواد بيشتر آشنا بشيم !
بازم از كدي كه نوشته بودي و به من خيلي كمك كرد ممنونم !

نظرم را بگم كه ! اين مهم نيست كه برنامه اي چقدر باگ داره ! مهم اينه كه ايدش مال شما بوده و من از ايدش خوشم اومد !

با تشكر - وحيد رضا
 

oxygenws

Active Member
سلام،

من کوچیکم...

اون کد رو تقریبا با ترکیب هر زبونی به کار ببری مشکلی براش پیش نمیاد. چون از خونه های خالی و رزرو شدهء سیستم یونیکد استفاده کردیم.

در ضمن، اگر توابع chr رو به کاراکتر معمولی تغییر بدی سرعت زیاد تر خواهد شد.

امیدوارم همیشه مفید و جذاب باشم!!!

موفق باشید، امید
 

جدیدترین ارسال ها

بالا