Şimdi Ara

c de sıralama fonksiyonu...

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
7
Cevap
0
Favori
1.909
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • ya c de nasıl kısa bir sıralama fonksiyonu yazabilirim (kucukten buyuge) aklım durdu...



  • iki tane iç içe for loop u kullanarak yapabilirsin
  • #include <stdio.h>
    #include <conio.h>
    void main(){

    int i,j,num;
    int numbers[10]={5,8,6,7,2,19,12,35,95,1};

    for(i=0;i<10;i++)
    {
    for(j=i+1;j<10;j++)
    {

    if(numbers>numbers[j]){
    num=numbers;
    numbers=numbers[j];
    numbers[j]=num;}
    }

    }
    for(i=0;i<10;i++)
    printf("%d ",numbers);
    getch();
    }




    Az once yazdim calisiyor gibi bir de sen bak istersen.
  • quote:

    Orjinalden alıntı: incesaz

    #include <stdio.h>
    #include <conio.h>
    void main(){

    int i,j,num;
    int numbers[10]={5,8,6,7,2,19,12,35,95,1};

    for(i=0;i<10;i++)
    {
    for(j=i+1;j<10;j++)
    {

    if(numbers>numbers[j]){
    num=numbers;
    numbers=numbers[j];
    numbers[j]=num;}
    }

    }
    for(i=0;i<10;i++)
    printf("%d ",numbers);
    getch();
    }




    Az once yazdim calisiyor gibi bir de sen bak istersen.






    arkadaşım yazdığın kodlarda hatalar var



    < Bu mesaj bu kişi tarafından değiştirildi Mr.NeVeRMaN -- 24 Mayıs 2005, 0:01:39 >
  • bubble sort:
     
    for (i=0; i<n-1; i++) {
    for (j=0; j<n-1-i; j++)
    if (a[j+1] < a[j]) {
    tmp = a[j];
    a[j] = a[j+1];
    a[j+1] = tmp;
    }
    }
  •  
    /* Insertion sort for integers */

    void insertion( int a[], int n ) {
    /* Pre-condition: a contains n items to be sorted */
    int i, j, v;
    /* Initially, the first item is considered 'sorted' */
    /* i divides a into a sorted region, x<i, and an
    unsorted one, x >= i */
    for(i=1;i<n;i++) {
    /* Select the item at the beginning of the
    as yet unsorted section */
    v = a[i];
    /* Work backwards through the array, finding where v
    should go */
    j = i;
    /* If this element is greater than v,
    move it up one */
    while ( a[j-1] > v ) {
    a[j] = a[j-1]; j = j-1;
    if ( j <= 0 ) break;
    }
    /* Stopped when a[j-1] <= v, so put v at position j */
    a[j] = v;
    }
    }


    selection sort

     
    void selectionSort(int numbers[], int array_size)
    {
    int i, j;
    int min, temp;

    for (i = 0; i < array_size-1; i++)
    {
    min = i;
    for (j = i+1; j < array_size; j++)
    {
    if (numbers[j] < numbers[min])
    min = j;
    }
    temp = numbers[i];
    numbers[i] = numbers[min];
    numbers[min] = temp;
    }
    }


    quick sort:

     
    void quickSort(int numbers[], int array_size)
    {
    q_sort(numbers, 0, array_size - 1);
    }


    void q_sort(int numbers[], int left, int right)
    {
    int pivot, l_hold, r_hold;

    l_hold = left;
    r_hold = right;
    pivot = numbers[left];
    while (left < right)
    {
    while ((numbers[right] >= pivot) && (left < right))
    right--;
    if (left != right)
    {
    numbers[left] = numbers[right];
    left++;
    }
    while ((numbers[left] <= pivot) && (left < right))
    left++;
    if (left != right)
    {
    numbers[right] = numbers[left];
    right--;
    }
    }
    numbers[left] = pivot;
    pivot = left;
    left = l_hold;
    right = r_hold;
    if (left < pivot)
    q_sort(numbers, left, pivot-1);
    if (right > pivot)
    q_sort(numbers, pivot+1, right);
    }


    kaynak:google




  • #include <stdio.h>
    #include <conio.h>
    void main(){

    int k,j,num;
    int numbers[10]={5,8,6,7,2,19,12,35,95,1};

    for(k=0;k<10;k++)
    {
    for(j=k+1;j<10;j++)
    {

    if(numbers[k]>numbers[j]){
    num=numbers[k];
    numbers[k]=numbers[j];
    numbers[j]=num;}
    }

    }
    for(k=0;k<10;k++)
    printf("%d ",numbers[k]);
    getch();
    }

    Hata yoktu ama copy paste yaparken tahminimce bu portalin yazilim hatasindan kaynaklaniyor,numbers[] lari numbers olarak almis.Tekrar duzelttim onlari,daha once test ettim,zaten cok basit bir kod,dikkatli bakilsaydi hemen anlasilirdi zaten sorunun ne oldugu.Bir de hitap ederken arkadasim,dostum vs. gibi hitaplar pek hos olmuyor cunku tanimadigim etmedigim insanlarin nerden ve nasil arkadasi oluyorum anlamiyorum,en azindan bir hitap olucaksa nikle hitap edilmeli bence,kisisel gorusum bu benim,saygi duyulmasini rica ederim,herkese kolay gelsin.




  • Yapay Zeka’dan İlgili Konular
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.