Anasayfa

C ve Sistem Programcıları Derneği

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

menü

  • CSD Hakkında
    • Yönetim Kurulu
    • Referanslar
    • Üyelik
    • Adres
    • Kroki
    • İletişim
  • Kurslar
    • Kurs Başvurusu
    • Eğitmenler
  • Seminerler
    • Seminer İste
    • Seminer Ver
  • Kaynaklar
    • Yararlı Linkler
    • Kaynak Kod Arşivi
    • Makaleler
    • Çalışma Soruları
    • Yararlı Kitaplar
    • Dosya Arşivi
    • Döküman Arşivi
  • Duyurular
  • Haberler
  • İş İlanları
    • İş İlanı Gönder
  • SSS
  • Kurs Başvurusu

e-posta ile bilgilendirme.

Derneğimizdeki etkinliklerden haberdar olun!

Haber mektubu üyeliğiniz

Kimler çevrimiçi

Şu an 0 kullanıcı ve 1 ziyaretçi çevrimiçi.
""
dreamhost
Anasayfa

İndis Sıralama 2 (Index Sort)

26.03.2010 - 17:10 tarihinde nerg gönderdi

void index_sort(int a[], int b[], int len);

Fonksiyonu, birinci parametresindeki adreste bulunan dizinin sıralanmış (sort) biçimini elde etmek için izlenmesi gereken indis numaralarını ikinci parametresindeki adreste bulunan dizi içine yazar. Fonksiyonu sıralama işlemi için baloncuk sıralaması (buble sort) yöntemini kullanıyor.

Örnek ekran çıktısı: 

a[]       10    2  -65    9   90  100  -17   32   -3   50
b[]        2    6    8    1    3    0    7    9    4    5
a[b[]]   -65  -17   -3    2    9   10   32   50   90   100

Kaynak kod: 
#include <stdio.h>
 
#define SIZE 10
 
void index_sort(int *, int *, int);
void print_array(const int *, int len);
 
 
int main()
{
   int a[SIZE] = {10, 2, -65, 9, 90, 100, -17, 32, -3, 50};
   int b[SIZE], i;
 
   index_sort(a, b, SIZE);
 
   printf("\n\na[]\t");
   print_array(a, SIZE);
 
   printf("\nb[]\t");
   print_array(b, SIZE);
 
   printf("\na[b[]]\t");
 
   for (i = 0; i < SIZE; i++)
      printf("%4d ", a[b[i]]);
 
   return 0;
}
 
/************************************************/
void index_sort(int a[], int b[], int len)
{
   int i, j, temp;
 
   for (i = 0; i < len; i++)
      b[i] = i;
 
   for (i = 0; i < len - 1; i++)
      for (j = 0; j < len - 1 - i; j++)
         if (a[b[j]] > a[b[j + 1]]) {
            temp = b[j];
            b[j] = b[j + 1];
            b[j + 1] = temp;
         }
}
/*************************************************/
void print_array(const int *ptr, int len)
{
   int i;
 
   for (i = 0; i < len; i++)
      printf("%4d ", ptr[i]);
}
  • Yazıcı uyumluYazıcı uyumlu
  • Arkadaşa gönderArkadaşa gönder
  • PDFPDF
Etiketler:
  • C

Adres: 2.Taşocağı Cd. Oğuz Sk. Barbaros Apt. No: 11/4 PK: 34387  Mecidiyeköy / İSTANBUL Tel: (212) 274 63 60  (212) 274 99 89  (212) 275 88 97  (212) 288 35 20 Fax: (212) 275 88 97 E-Posta: csystem@csystem.org

İçerik yayınları
Fervens Drupal theme by Leow Kah Thong. Designed by Design Disease and brought to you by Smashing Magazine.