Soru Geçmişi
09.04.21 14:13
Verilen tek yönlü bağlı listeden yeni bir bağlı tek yönlü bağlı liste oluşturma
Amacım kendisine verilen liste ve iki adet integer indisle verilen listeden bu indisler arasındaki (indisler dahil )bağlı liste elemanlarından yeni bir bağlı liste oluşturmaktı ama yanlış sonuç alıyorum public class Eleman<T>{
T deger;
Eleman ileri;
public Eleman(T deger) {
this.deger = deger;
this.ileri = null;
}
}
public class BagliListe {
Eleman ilk;
Eleman son;
public BagliListe() {
this.ilk = null;
this.son = null;
}
void basaEkle(Eleman eklenen){
if (son==null)
son=eklenen;
eklenen.ileri=ilk;
ilk=eklenen;
}
void arayaEkle(Eleman eklenen, Eleman once){
eklenen.ileri=once.ileri;
once.ileri=eklenen;
}
void sonaEkle(Eleman eklenen){
if (ilk==null)
ilk=eklenen;
else
son.ileri=eklenen;
son=eklenen;
}
void bastanSil(){
ilk=ilk.ileri;
if (ilk==null)
son=null;
}
void sondanSil(){
Eleman yedek=ilk, once;
once=null;
while (yedek!=son){
once=yedek;
yedek=yedek.ileri;
}
if (once==null)
ilk=null;
else
once.ileri=null;
son=once;
}
void aradanSil(Eleman silinen){
Eleman yedek=ilk, once;
once=null;
while (yedek!=silinen){
once=yedek;
yedek=yedek.ileri;
}
once.ileri=silinen.ileri;
}
void listeYazdir(){
Eleman yedek=ilk;
while (yedek!=null){
System.out.print(" "+yedek.deger);
yedek=yedek.ileri;
}
}
<T> Eleman ara(T aranan){
Eleman yedek=ilk;
while (yedek!=null){
if (yedek.deger==aranan)
return yedek;
yedek=yedek.ileri;
}
return null;
}
int elemanSayısı(){
int sayac=0;
Eleman yedek=ilk;
while (yedek!=null){
yedek=yedek.ileri;
sayac++;
}
return sayac;
}
Eleman indisElemanAra(int indis){
Eleman yedek=ilk;
if (ilk==null)
return null;
int sayac=0;
while (sayac<indis && yedek!=null){
yedek=yedek.ileri;
sayac++;
}
return yedek;
}
public static BagliListe altKumeOlustur(BagliListe liste1,int bas, int son) {
//
Eleman b=liste1.indisElemanAra(bas);
Eleman s=liste1.indisElemanAra(son);
//alt kümenin tutulacağı bağlı liste oluşturuluyor
BagliListe liste_2=new BagliListe();
Eleman yedek=b;
Eleman e;
while (yedek!=s){
e=new Eleman(yedek.deger);
liste_2.basaEkle(e);
yedek=yedek.ileri;
}
return liste_2;
}
}
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//Liste oluşturuluyor
BagliListe liste_1=new BagliListe();
//Elemanlara değerleri atanıyor ve listeye ekleniyor
Eleman e1=new Eleman(5.2);
liste_1.basaEkle(e1);
Eleman e2=new Eleman(9);
liste_1.basaEkle(e2);
Eleman e3=new Eleman(90);
liste_1.basaEkle(e3);
Eleman e4=new Eleman(100);
liste_1.basaEkle(e4);
Eleman e5=new Eleman(55);
liste_1.basaEkle(e5);
Eleman e6=new Eleman(5);
liste_1.basaEkle(e6);
//istenilen altkümenin özelliklerinin okunabilmesi
//için Scanner sınıfından nesne yaratılıyor
Scanner oku=new Scanner(System.in);
//istenilen altkümenin özelliklerinin tutulacağı
//değişkenler tanımlanıyor
int kumeBas=0, kumeSon=0;
//özellikler alınıyor
System.out.print("Alt kume baslangici: ");
kumeBas=oku.nextInt();
System.out.print("Alt kume sonu: ");
kumeSon=oku.nextInt();
//alt kümenin oluşturulması için değreler 'altKumeOlustur'
//metoduna gönderiliyor ve oluşan yeni alt küme ekrana yazdırılıyor
System.out.print("Alt kümeniz: ");
liste_1.altKumeOlustur(liste_1, kumeBas, kumeSon).listeYazdir();
}
}
Alt kume baslangici: 3 Alt kume sonu: 5 Alt kümeniz: 9 90
Ekleyen: yolda_
Değiştiren: cevapsitesi
09.04.21 01:37
-ÇÖZÜLDÜ-Verilen tek yönlü bağlı listeden yeni bir bağlı tek yönlü bağlı liste oluşturma
Amacım kendisine verilen liste ve iki adet integer indisle verilen listeden bu indisler arasındaki (indisler dahil )bağlı liste elemanlarından yeni bir bağlı liste oluşturmaktı ama yanlış sonuç alıyorum public class Eleman<T>{
T deger;
Eleman ileri;
public Eleman(T deger) {
this.deger = deger;
this.ileri = null;
}
}
public class BagliListe {
Eleman ilk;
Eleman son;
public BagliListe() {
this.ilk = null;
this.son = null;
}
void basaEkle(Eleman eklenen){
if (son==null)
son=eklenen;
eklenen.ileri=ilk;
ilk=eklenen;
}
void arayaEkle(Eleman eklenen, Eleman once){
eklenen.ileri=once.ileri;
once.ileri=eklenen;
}
void sonaEkle(Eleman eklenen){
if (ilk==null)
ilk=eklenen;
else
son.ileri=eklenen;
son=eklenen;
}
void bastanSil(){
ilk=ilk.ileri;
if (ilk==null)
son=null;
}
void sondanSil(){
Eleman yedek=ilk, once;
once=null;
while (yedek!=son){
once=yedek;
yedek=yedek.ileri;
}
if (once==null)
ilk=null;
else
once.ileri=null;
son=once;
}
void aradanSil(Eleman silinen){
Eleman yedek=ilk, once;
once=null;
while (yedek!=silinen){
once=yedek;
yedek=yedek.ileri;
}
once.ileri=silinen.ileri;
}
void listeYazdir(){
Eleman yedek=ilk;
while (yedek!=null){
System.out.print(" "+yedek.deger);
yedek=yedek.ileri;
}
}
<T> Eleman ara(T aranan){
Eleman yedek=ilk;
while (yedek!=null){
if (yedek.deger==aranan)
return yedek;
yedek=yedek.ileri;
}
return null;
}
int elemanSayısı(){
int sayac=0;
Eleman yedek=ilk;
while (yedek!=null){
yedek=yedek.ileri;
sayac++;
}
return sayac;
}
Eleman indisElemanAra(int indis){
Eleman yedek=ilk;
if (ilk==null)
return null;
int sayac=0;
while (sayac<indis && yedek!=null){
yedek=yedek.ileri;
sayac++;
}
return yedek;
}
public static BagliListe altKumeOlustur(BagliListe liste1,int bas, int son) {
//
Eleman b=liste1.indisElemanAra(bas);
Eleman s=liste1.indisElemanAra(son);
//alt kümenin tutulacağı bağlı liste oluşturuluyor
BagliListe liste_2=new BagliListe();
Eleman yedek=b;
Eleman e;
while (yedek!=s){
e=new Eleman(yedek.deger);
liste_2.basaEkle(e);
yedek=yedek.ileri;
}
return liste_2;
}
}
import java.util.Scanner; public class Test {
public static void main(String[] args) {
//Liste oluşturuluyor BagliListe liste_1=new BagliListe(); //Elemanlara değerleri atanıyor ve listeye ekleniyor Eleman e1=new Eleman(5.2); liste_1.basaEkle(e1); Eleman e2=new Eleman(9); liste_1.basaEkle(e2); Eleman e3=new Eleman(90); liste_1.basaEkle(e3); Eleman e4=new Eleman(100); liste_1.basaEkle(e4); Eleman e5=new Eleman(55); liste_1.basaEkle(e5); Eleman e6=new Eleman(5); liste_1.basaEkle(e6); //istenilen altkümenin özelliklerinin okunabilmesi //için Scanner sınıfından nesne yaratılıyor Scanner oku=new Scanner(System.in); //istenilen altkümenin özelliklerinin tutulacağı //değişkenler tanımlanıyor int kumeBas=0, kumeSon=0; //özellikler alınıyor System.out.print("Alt kume baslangici: "); kumeBas=oku.nextInt(); System.out.print("Alt kume sonu: "); kumeSon=oku.nextInt(); //alt kümenin oluşturulması için değreler 'altKumeOlustur' //metoduna gönderiliyor ve oluşan yeni alt küme ekrana yazdırılıyor System.out.print("Alt kümeniz: "); liste_1.altKumeOlustur(liste_1, kumeBas, kumeSon).listeYazdir(); }
}
Alt kume baslangici: 3 Alt kume sonu: 5 Alt kümeniz: 9 90
Ekleyen: yolda_
Değiştiren: yolda_
08.04.21 18:00
Verilen tek yönlü bağlı listeden yeni bir bağlı tek yönlü bağlı liste oluşturma
Amacım kendisine verilen liste ve iki adet integer indisle verilen listeden bu indisler arasındaki (indisler dahil )bağlı liste elemanlarından yeni bir bağlı liste oluşturmaktı ama yanlış sonuç alıyorum public class Eleman<T>{
T deger; Eleman ileri; public Eleman(T deger) {
this.deger = deger; this.ileri = null; }
}
public class BagliListe {
Eleman ilk; Eleman son; public BagliListe() {
this.ilk = null; this.son = null; }
void basaEkle(Eleman eklenen){
if (son==null)
son=eklenen; eklenen.ileri=ilk; ilk=eklenen; }
void arayaEkle(Eleman eklenen, Eleman once){
eklenen.ileri=once.ileri; once.ileri=eklenen; }
void sonaEkle(Eleman eklenen){
if (ilk==null)
ilk=eklenen; else son.ileri=eklenen; son=eklenen; }
void bastanSil(){
ilk=ilk.ileri; if (ilk==null)
son=null; }
void sondanSil(){
Eleman yedek=ilk, once; once=null; while (yedek!=son){
once=yedek; yedek=yedek.ileri; }
if (once==null)
ilk=null; else once.ileri=null; son=once; }
void aradanSil(Eleman silinen){
Eleman yedek=ilk, once; once=null; while (yedek!=silinen){
once=yedek; yedek=yedek.ileri; }
once.ileri=silinen.ileri; }
void listeYazdir(){
Eleman yedek=ilk; while (yedek!=null){
System.out.print(" "+yedek.deger); yedek=yedek.ileri; }
}
<T> Eleman ara(T aranan){
Eleman yedek=ilk; while (yedek!=null){
if (yedek.deger==aranan)
return yedek; yedek=yedek.ileri; }
return null; }
int elemanSayısı(){
int sayac=0; Eleman yedek=ilk; while (yedek!=null){
yedek=yedek.ileri; sayac++; }
return sayac; }
Eleman indisElemanAra(int indis){
Eleman yedek=ilk; if (ilk==null)
return null; int sayac=0; while (sayac<indis && yedek!=null){
yedek=yedek.ileri; sayac++; }
return yedek; }
public static BagliListe altKumeOlustur(BagliListe liste1,int bas, int son) {
// Eleman b=liste1.indisElemanAra(bas); Eleman s=liste1.indisElemanAra(son); //alt kümenin tutulacağı bağlı liste oluşturuluyor BagliListe liste_2=new BagliListe(); Eleman yedek=b; Eleman e; while (yedek!=s){
e=new Eleman(yedek.deger); liste_2.basaEkle(e); yedek=yedek.ileri; }
return liste_2; }
}
import java.util.Scanner ;
public class Test { public static void main (String[] args) { //Liste oluşturuluyor
BagliListe liste_1= new BagliListe() ;
//Elemanlara değerleri atanıyor ve listeye ekleniyor
Eleman e1= new Eleman( 5.2 ) ;
liste_1.basaEkle(e1) ;
Eleman e2= new Eleman( 9 ) ;
liste_1.basaEkle(e2) ;
Eleman e3= new Eleman( 90 ) ;
liste_1.basaEkle(e3) ;
Eleman e4= new Eleman( 100 ) ;
liste_1.basaEkle(e4) ;
Eleman e5= new Eleman( 55 ) ;
liste_1.basaEkle(e5) ;
Eleman e6= new Eleman( 5 ) ;
liste_1.basaEkle(e6) ;
//istenilen altkümenin özelliklerinin okunabilmesi
//için Scanner sınıfından nesne yaratılıyor
Scanner oku= new Scanner(System. in ) ;
//istenilen altkümenin özelliklerinin tutulacağı
//değişkenler tanımlanıyor
int kumeBas= 0 , kumeSon= 0 ;
//özellikler alınıyor
System. out .print( "Alt kume baslangici: " ) ;
kumeBas=oku.nextInt() ;
System. out .print( "Alt kume sonu: " ) ;
kumeSon=oku.nextInt() ;
//alt kümenin oluşturulması için değreler 'altKumeOlustur'
//metoduna gönderiliyor ve oluşan yeni alt küme ekrana yazdırılıyor
System. out .print( "Alt kümeniz: " ) ;
liste_1. altKumeOlustur (liste_1 , kumeBas , kumeSon).listeYazdir() ;
} }
Alt kume baslangici: 3 Alt kume sonu: 5 Alt kümeniz: 9 90
Ekleyen: yolda_
Değiştiren: yolda_
08.04.21 17:59
Verilen tek yönlü bağlı listeden yeni bir bağlı tek yönlü bağlı liste oluşturma
Amacım kendisine verilen liste ve iki adet integer indisle verilen listeden bu indisler arasındaki (indisler dahil )bağlı liste elemanlarından yeni bir bağlı liste oluşturmaktı ama yanlış sonuç alıyorum public class Eleman< T >{ T deger ;
Eleman ileri ;
public Eleman ( T deger) { this . deger = deger ;
this . ileri = null;
} }
public class BagliListe { Eleman ilk ;
Eleman son ;
public BagliListe () { this . ilk = null;
this . son = null;
} void basaEkle (Eleman eklenen){ if ( son == null ) son =eklenen ;
eklenen. ileri = ilk ;
ilk =eklenen ;
} void arayaEkle (Eleman eklenen , Eleman once){ eklenen. ileri =once. ileri ;
once. ileri =eklenen ;
} void sonaEkle (Eleman eklenen){ if ( ilk == null ) ilk =eklenen ;
else
son . ileri =eklenen ;
son =eklenen ;
} void bastanSil (){ ilk = ilk . ileri ;
if ( ilk == null ) son = null;
} void sondanSil (){ Eleman yedek= ilk , once ;
once= null;
while (yedek!= son ){ once=yedek ;
yedek=yedek. ileri ;
} if (once== null ) ilk = null;
else
once. ileri = null;
son =once ;
} void aradanSil (Eleman silinen){ Eleman yedek= ilk , once ;
once= null;
while (yedek!=silinen){ once=yedek ;
yedek=yedek. ileri ;
} once. ileri =silinen. ileri ;
} void listeYazdir (){ Eleman yedek= ilk ;
while (yedek!= null ){ System. out .print( " " +yedek. deger ) ;
yedek=yedek. ileri ;
} } < T > Eleman ara ( T aranan){ Eleman yedek= ilk ;
while (yedek!= null ){ if (yedek. deger ==aranan) return yedek ;
yedek=yedek. ileri ;
} return null;
} int elemanSayısı (){ int sayac= 0 ;
Eleman yedek= ilk ;
while (yedek!= null ){ yedek=yedek. ileri ;
sayac++ ;
} return sayac ;
} Eleman indisElemanAra ( int indis){ Eleman yedek= ilk ;
if ( ilk == null ) return null;
int sayac= 0 ;
while (sayac<indis && yedek!= null ){ yedek=yedek. ileri ;
sayac++ ;
} return yedek ;
} public static BagliListe altKumeOlustur (BagliListe liste1 ,int bas , int son) { //
Eleman b=liste1.indisElemanAra(bas) ;
Eleman s=liste1.indisElemanAra(son) ;
//alt kümenin tutulacağı bağlı liste oluşturuluyor
BagliListe liste_2= new BagliListe() ;
Eleman yedek=b ;
Eleman e ;
while (yedek!=s){ e= new Eleman(yedek. deger ) ;
liste_2.basaEkle(e) ;
yedek=yedek. ileri ;
} return liste_2 ;
} }
import java.util.Scanner;
public class Test {
public static void main(String[] args) {
//Liste oluşturuluyor
BagliListe liste_1=new BagliListe();
//Elemanlara değerleri atanıyor ve listeye ekleniyor
Eleman e1=new Eleman(5.2);
liste_1.basaEkle(e1);
Eleman e2=new Eleman(9);
liste_1.basaEkle(e2);
Eleman e3=new Eleman(90);
liste_1.basaEkle(e3);
Eleman e4=new Eleman(100);
liste_1.basaEkle(e4);
Eleman e5=new Eleman(55);
liste_1.basaEkle(e5);
Eleman e6=new Eleman(5);
liste_1.basaEkle(e6);
//istenilen altkümenin özelliklerinin okunabilmesi
//için Scanner sınıfından nesne yaratılıyor
Scanner oku=new Scanner(System.in);
//istenilen altkümenin özelliklerinin tutulacağı
//değişkenler tanımlanıyor
int kumeBas=0, kumeSon=0;
//özellikler alınıyor
System.out.print("Alt kume baslangici: ");
kumeBas=oku.nextInt();
System.out.print("Alt kume sonu: ");
kumeSon=oku.nextInt();
//alt kümenin oluşturulması için değreler 'altKumeOlustur'
//metoduna gönderiliyor ve oluşan yeni alt küme ekrana yazdırılıyor
System.out.print("Alt kümeniz: ");
liste_1.altKumeOlustur(liste_1, kumeBas, kumeSon).listeYazdir();
}
}
Ekleyen: yolda_
En fazla 3 eski durum gösterilir.