مرتب سازی با یه حلقه

Carlitos

عضو جدید
سلام دوستان.
خواستم بدونم با یه حلقه میشه یه آرایه مرتب کرد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
شاید عجیب بنظر برسه اما........................
خلاصه هر چی به ذهنتون میرسه بگین.
 

Sarp

مدیر بازنشسته
اصلا مگه میشه حلقه استفاده نکرد واسه مرتب سازی ؟
 

behnam5670

عضو جدید
کاربر ممتاز
سلام دوستان.
خواستم بدونم با یه حلقه میشه یه آرایه مرتب کرد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
شاید عجیب بنظر برسه اما........................
خلاصه هر چی به ذهنتون میرسه بگین.
فکر کنم بشه
رووش فکر می‌کنم
البته برای حالتی که اعداد از 1 تا N یاشه بلدم ولی برای حالت کلی صدق نمی کنه
 

behnam5670

عضو جدید
کاربر ممتاز
اصلا مگه میشه حلقه استفاده نکرد واسه مرتب سازی ؟
آره چرا نشه :smile:
فقط دستورای داخل حلقه رو باید به ازای 1 تا N بنویسی!
مثلا به جای
(++for (i = 1; i < n; i
;cout << i << endl​
باید بنویسی​
;cout << 1 << endl
;cout << 2 << endl
;cout << 3 << endl
...​
 

Carlitos

عضو جدید
اصلا مگه میشه حلقه استفاده نکرد واسه مرتب سازی ؟
نه نمیشه! ولی منطور من استفاده نکردن از حلقه نبود.
من تو اینترنت به این سوال برخوردم و جوابش این بود که شدنی اما از دستورات کنترلی ریادی استفاده میکنه....
 

behnam5670

عضو جدید
کاربر ممتاز
نه نمیشه! ولی منطور من استفاده نکردن از حلقه نبود.
من تو اینترنت به این سوال برخوردم و جوابش این بود که شدنی اما از دستورات کنترلی ریادی استفاده میکنه....
خوب جوابش اشتباه بوده!
من الان Insertion Sort رو یکم دستکاری می کنم بشه یه حلقه، ساده تر هم میشه
 

behnam5670

عضو جدید
کاربر ممتاز
کد رو ضمیمه کردم مشاهده پیوست Untitled1.zip

اینم تابع Sort با یه حلقه، یه جورایی شبیه Insertion عمل می‌کنه

 

Sarp

مدیر بازنشسته
آره چرا نشه :smile:
فقط دستورای داخل حلقه رو باید به ازای 1 تا N بنویسی!
مثلا به جای
(++for (i = 1; i < n; i
;cout << i << endl​

باید بنویسی​

;cout << 1 << endl
;cout << 2 << endl
;cout << 3 << endl
...​
این که دیگه نشد برنامه نویسی
 

HH2BN1990

کاربر فعال
کد:
	//Bubble Sort 1
	for(int i=0;i<Max;i++)
    {
		for(int j=0;j<Max-1-i;j++)
		{
			if(arr[j]>arr[j+1])
			{
				int temp = arr[j+1];
				arr[j+1] = arr[j];
				arr[j] = temp;
			}
		}
    }
	
	//Bubble Sort 2
	for(int i=0,j=0;i<Max;j++)
    {
		if(j >= Max-1-i)
		{
			i++;
			j=0;
		}
		if(arr[j]>arr[j+1])
		{
			int temp = arr[j+1];
			arr[j+1] = arr[j];
			arr[j] = temp;
		}
    }
	
	//Bubble Sort 3
	int i=0,j=0;
	Start:
	if(j >= Max-1-i)
	{
		i++;
		j=0;
	}
			
	if(arr[j]>arr[j+1])
	{
		int temp = arr[j+1];
		arr[j+1] = arr[j];
		arr[j] = temp;
	}
	j++;
	if(i>Max)
		goto End;
	else
		goto Start;
	End:
 

Similar threads

بالا