Bubble Sort etiketine sahip kayıtlar gösteriliyor.
Bubble Sort etiketine sahip kayıtlar gösteriliyor.

C Programlama Örnek Bubble Sort (Kabarcık Sıralaması)

Verinin hafızada sıralı tutulması için geliştirilen sıralama algoritmalarından (sorting algorithms) arasında yazılması en kolay olan, ama büyük dizilerde çok yavaş kalan bir sıralama yöntemidir.

Kabarcık sıralaması'nın rastgele üretilmiş sayıları sıraladığını gösteren bir örnek
Sıralanacak dizinin üzerinde sürekli ilerlerken her defasında iki öğenin birbiriyle karşılaştırılıp, karşılaştırılan öğelerin yanlış sırada olmaları durumunda yerlerinin değiştirilmesi mantığına dayanır. Algoritma, herhangi bir değişiklik yapılmayıncaya kadar dizinin başına dönerek kendisini yineler. Adına "Kabarcık" sıralaması denmesinin nedeni büyük olan sayıların aynı suyun altındaki bir kabarcık gibi dizinin üstüne doğru ilerlemesidir. 

#include <stdio.h>

int main()
{
  int dizi[100], s, x, y, t;

  printf("LUTFEN DIZI ICIN ELEMAN SAYISINI GIRINIZ\n");
  scanf("%d", &s);

  printf("%d ELEMAN DEGERLERINI GIRINIZ\n", s);

  for (x = 0; x < s; x++)
    scanf("%d", &dizi[x]);

  for (x = 0 ; x < ( s - 1 ); x++)
  {
    for (y = 0 ; y < s - x - 1; y++)
    {
      if (dizi[y] > dizi[y+1])
      {
        t         = dizi[y];
        dizi[y]   = dizi[y+1];
        dizi[y+1] = t;
      }
    }
  }

  printf("ARTAN SIRAYA GORE LISTELEME:\n");

  for ( x = 0 ; x < s ; x++ )
     printf("%d\n", dizi[x]);

  return 0;
}

Java Dizi Örnek

Klavyeden girilen N elemanlı bir dizinin;
  • Dizi elemanları toplamı
  • Dizi elemanları ortalaması
  • Dizi elemanları arasındaki maksimum değerin bulunması
  • Dizi elemanları arasındaki minimum değerin bulunması
  • Dizi elemanlarının küçükten büyüğe sıralanması
  • Bubble Sort (Kabarcık Sıralama) Algoritması
package DIZILER;
import java.util.Scanner;
public class DIZIORNEK {

public static void main(String[] args) {

int n, toplam, max, min;
min=max=toplam=0;
Scanner oku = new Scanner(System.in);
System.out.println("ELEMAN SAYISINI GIRINIZ:");

n=oku.nextInt();
int dizi[]=new int[n];
for(int i=0;i<dizi.length;i++) //Dizi elemanları toplamı
 {
    System.out.println((i+1)+"....SAYISINI GIRINIZ:");
    dizi[i]=oku.nextInt();
    toplam+=dizi[i];
 }
    int ort=toplam/n; //Dizi elemanları ortalaması
    for (int s=0;s<dizi.length;s++) //Dizi elemanları arasındaki maksimum değerin bulunması
 {
    if(dizi[s]>max)
   {
      max=dizi[s];
          }
 }
    min=dizi[0]; //Dizi elemanları arasındaki minimum değerin bulunması
    for(int a=0;a<dizi.length;a++)
 {
         if(min>dizi[a])
    {
  min=dizi[a]; //Dizi elemanlarını küçükten büyüğe sıralanması
    }
 }
    int tut=0;//Bubble Sort - Kabarcık Sıralama Algoritması
    for(int k=0;k<dizi.length-1;k++)
 {
  for(int y=0;y<dizi.length-1;y++)
         {
  if (dizi[y]>dizi[y+1])
     {
  tut=dizi[y];
  dizi[y]=dizi[y+1];
  dizi[y+1]=tut;
     }
  }
 }

System.out.println("DIZI ELEMANLARININ TOPLAMI="+toplam);
System.out.println("DIZI ELEMANLARININ ORTALAMASI="+ort);
System.out.println("DIZI ELEMANLARININ MAXIMUM DEGER="+max);
System.out.println("DIZI ELEMANLARININ MINIMUM DEGER="+min);

for(int b=0;b<dizi.length;b++)
{
 System.out.println((b+1)+"ELEMANIN DEGERI"+dizi[b]);
}

}}