مرتبسازی شِل یا مرتب سازی صدفی یکی از قدیمیترین الگوریتمهای مرتبسازی و تعمیمی از مرتبسازی درجی با در نظر گرفتن دو نکته زیر است:
- الگوریتم مرتبسازی درجی درصورتی کارآمد است که دادهها تقریباً مرتب باشند.
- مرتبسازی درجی معمولاً کم بازدهاست چون مقادیر را در هر زمان فقط به اندازه یک موقعیت جابجا میکند.
یک الگوریتم مرتب سازی زمان مرتب سازی خوبی دارا است لذا سرعت عمل روش مرتب سازی شل از روشهای انتخابی، درجی و حبابی بیشتر است.
در روش مرتبسازی درجی در بدترین حالت الگوریتم از (O(n ۲ است در حالی که با مرتبسازی صدفی این زمان به (O(n log۲ کاهش یافته است.
در مرتبسازی صدفی یا شِل، ابتدا دادهها در گامهای بزرگتری جابه جا میشوند اما در هر مرحله فاصله این جابه جاییها کم تر شده و به جابه جاییهای جزئی میرسد.

بطور مثال :
مرتب سازی شل در C
این سورس به زبان C می باشد که چند عدد به صورت دستی و انتخابی داده شده که آنها را با روش Shell sort مرتب می کند.
# توضیحات:
- shellSort: تابعی است که الگوریتم Shell Sort را پیادهسازی میکند.
- printArray: برای چاپ آرایهای که مرتب شده استفاده میشود.
- در main: یک آرایه تعریف شده و پس از مرتبسازی، آرایه مرتبشده چاپ میشود.

◄ یک آموزش و کد عالی به زبان C در مورد مزتب سازی شل
مرتب سازی شل در ++C
به این سورس 5 عدد به صورت دستی و انتخابی داده شده و آنها را با روش Shell sort مرتب می کند و در نهایت آرایه ای قبل و بعد از مرتب شدن چاپ می کند.

خروجی قطعه کد بالا در ادامه آمده است.
:Array before sorting
12 34 54 2 3
:Array after sorting
2 3 12 34 54