مرتب سازی حبابی - هفت خط کد انجمن پرسش و پاسخ برنامه نویسی

مرتب سازی حبابی

0 امتیاز
تابعی بنویسید که یک آرایه را  به عنوان  ورودی دریافت کند  وبه روش مرتب سازی حبابی  آن را مرتب کند و آرایه مرتب شده را  به برنامه اصلی برگرداند ؟
سوال شده دی 16, 1392  بوسیله ی jahadgar (امتیاز 380)   24 41 54
ویرایش شده بهمن 24, 1392 بوسیله ی BlueBlade

2 پاسخ

+3 امتیاز
 
بهترین پاسخ
 void bubbleSort(int* array, int size)
 {
    int swapped;
    int i;
    for (i = 1; i < size; i++)
    {
        swapped = 0;    //this flag is to check if the array is already sorted
        int j;
        for(j = 0; j < size - i; j++)
        {
            if(array[j] > array[j+1])
            {
                int temp = array[j];
                array[j] = array[j+1];
                array[j+1] = temp;
                swapped = 1;
            }
        }
        if(!swapped){
            break; //if it is sorted then stop
        }
    }
 }

 

 

منبع:

http://en.wikibooks.org/wiki/Algorithm_Implementation/Sorting/Bubble_sort#C_1

پاسخ داده شده دی 17, 1392 بوسیله ی FastCode (امتیاز 602)   1 2 11
انتخاب شد شهریور 8, 1393 بوسیله ی BlueBlade
+1 امتیاز
#include <stdio.h>

int bubble_sort(int *a,int size_)
{
    for(int i=0;i<size_;i++)
    {
        for(int j=0;j<size_-1;j++)
        {
            if(a[j]<a[j+1])
            {
                int temp=a[j];
                a[j]=a[j+1];
                a[j+1]=temp;
            }
        }
    }
}

int main()
{
    int size_=0;
    int a[100];
    
    printf("plz enter size of array : ");
    scanf("%d",&size_);

    for(int i=0;i<size_;i++)
        scanf("%d",&a[i]);

    bubble_sort(a,size_);

    for(int i=0;i<size_;i++)
        printf("%d ",a[i]);
}

 

پاسخ داده شده دی 23, 1392 بوسیله ی BlueBlade (امتیاز 15,315)   15 18 89
...