الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

سؤال حول الدالة Sort في Stl

مغلق
بدأه Abdullah.Alshammeri في 28 أغسطس 2007 · 5 رد · 831 مشاهدة · في لغة C و ++C
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

السلام عليكم .

احتاج لاستخدام الدالة sort لترتيب vector .

اعرف كيف استخدمها .. لكن لا اعرف كيف اتحكم بالترتيب .. اريد ان ارتب تصاعديا او تنازليا وهكذا ,

انا استخدم vector of Object ويوجد في هذا الObject معامل أصغر من و أكبر من . < > /

int main()
{
vector<object> O;

.
.
.

sort(O.begin(),O.end()); // كيف اتحكم بالترتيب .

return 0; 
}

بحثت في النت ووجدت شي اسمه greater لكن كل ما اسخدمته يظهر في الكود خطأ .

تم تعديل هذه المشاركة بواسطة الشمري في 28 أغسطس 2007 في 10:53

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#2

وعليكم السلام

اعتقد تعمل Sort ويليه Reverse كالتالى

#include "iostream"
#include <vector>

using namespace std;

int main(void)
{
	vector<int> vec;

	vec.push_back(5); vec.push_back(4); vec.push_back(11); 	

	int i;
	for(i=0; i<vec.size(); i++)
		cout <<vec<<endl;


	sort(vec.begin(), vec.end());
	cout << "After sorting : " << endl;
	for(i=0; i<vec.size(); i++)
		cout <<vec<<endl;

	reverse(vec.begin(), vec.end());
	cout << "After reversing : " << endl;
	for(i=0; i<vec.size(); i++)
		cout <<vec<<endl;

}

تم تعديل هذه المشاركة بواسطة StrikerX في 29 أغسطس 2007 في 04:39

#3

بارك الله فيك ,, لم أكن أعلم بوجود الدالة reverse .. الكود ينفذ المطلوب , شكرا لك .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

#4

عفوا ، تحت امرك.

خالص ودى

#5

تأكد من المكتبة functional

وهذا برنامج يوضح كيفية إستخداماها .

#include<iostream>
#include<vector>
#include<algorithm>
#include<functional>

using namespace std;

int main()
{
	int a[] = {4,1,7,2,3,8};
	vector<int> vi(a,a+6);
	sort(vi.begin(),vi.end(),greater<int>());
}

لاحظ أن greater هي Template Class أي قبل إستخدامها يجب أن تحدد نوعها بالظبط مثل ما حددت أنا ()<greater<int

تم تعديل هذه المشاركة بواسطة b.m.s في 29 أغسطس 2007 في 17:00

#6

عشت والله .. استخدمت الكود اللي اضفته في مشروعي طيب الذكر .. أكيد انك سمعت عنه :D

لاني اظنها اسرع مع وافر الشكر والتقدر للاخ striker على المساعدة .

logo1.png تطبيق طمأنينة ، نسخة بيتا على أندرويد

عبدالله الشمّري - Al-Shammari

CodingAlone.com

twitter @abshammeri

abshammeri AT gmail.com

github : abshammeri

هذا الموضوع مغلق.

مواضيع مشابهة