Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- package aiznatalia12;
- public class laczenien {
- private int[] tt;
- private int[] temptab;
- private int dlugosc;
- private int [] c;
- public laczenien(int t[]) {
- tt= t;
- dlugosc = t.length;
- temptab = new int[dlugosc];
- c=t;
- }
- public void scalanie(int [] tab, int [] tab2){
- int[] tab_wynikowa;
- int i, j, k;
- //Wypisz zawartosc pierwszego ciagu
- System.out.println("Pierwszy ciag:");
- for (int e : tab) {
- System.out.print(e + ", ");
- }
- //Wypisz zawartosc drugiego ciagu
- System.out.println("\nDrugi ciag:");
- for (int e : tab2) {
- System.out.print(e + ", ");
- }
- //Utworz tablice wynikowa
- tab_wynikowa = new int[dlugosc];
- //Bierz mniejsza wartosc z pierwszego badz drugiego ciagu,
- //dopoki zaden z nich sie nie skonczy
- for (i = j = k = 0; i < tab.length && j < tab2.length; k++) {
- if (tab[i] < tab2[j]) {
- tab_wynikowa[k] = tab[i];
- ++i;
- } else {
- tab_wynikowa[k] = tab2[j];
- ++j;
- }
- }
- //Jeden z ciagow sie skonczyl dopisz do wyniku pozostaly
- if (i < tab.length) {
- for (; i < tab.length; i++, k++) {
- tab_wynikowa[k] = tab[i];
- }
- } else {
- for (; j < tab2.length; j++, k++) {
- tab_wynikowa[k] = tab2[j];
- }
- }
- //Wypisz wynik
- System.out.println("\nCiag wynikowy:");
- for (int e : tab_wynikowa) {
- System.out.print(e + ", ");
- //c[e]=tab_wynikowa[e];
- }
- }
- public void laczenienaturalne(int [] c){
- int [] a=new int [dlugosc]; int ia=0, ib=0, ic=0;
- int [] b=new int [dlugosc];
- int [] aa; int [] bb;
- //c=tab;
- //dzielenie
- int ta=-1;
- int pom=0; //a=0, b=1
- for(int i=0; i<dlugosc; i++){
- if(c[i]>ta){
- if(pom==0){
- a[ia]=c[i]; ia++; pom=0;
- }
- if(pom==1){
- b[ib]=c[i]; ib++; pom=1;
- }
- }
- else{
- if(pom==0){
- b[ib]=c[i]; ib++;
- }
- else { a[ia]=c[i]; ia++;}
- }
- ta=c[i];
- }
- aa=new int [ia]; bb=new int [ib];
- for(int i=0; i<ia; i++){
- aa[i]=a[i];
- }
- for(int i=0; i<ib; i++){
- bb[i]=b[i];
- }
- scalanie(aa,bb);
- System.out.println("a,b"+ia+ib);
- if(ia<=1 || ib<=1) {
- System.out.println("koniec");
- for(int i=0; i<dlugosc; i++){
- System.out.print(c[i]+" , ");
- }}
- else{
- laczenienaturalne(c);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement