algorytm.org

Implementacja w Java



Baza Wiedzy
wersja offline serwisu przeznaczona na urządzenia z systemem Android
Darowizny
darowiznaWspomóż rozwój serwisu
Nagłówki RSS
Artykuły
Implementacje
Komentarze
Forum
Bookmarki






Sonda
Implementacji w jakim języku programowania poszukujesz?

Algorytm GS' (Galila Seiferasa) - Implementacja w Java
Ocena użytkownikóww: *****  / 1
SłabyŚwietny
Nadesłany przez Tomasz Lubiński, 26 lipca 2005 01:00
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.

Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.

AlgorytmGS.java:
/**
 * www.algorytm.org
 * Algorytm GS' - wersja algorytmu Galila-Seiferasa dla pewnej klasy wzorcow
 * (c)2002 Tomasz Lubinski
 *
 */
public class AlgorytmGS {

	public static void main(String[] args) {
		String wzorzec;
		String tekst;
		int m,n,i,j;
		System.out.println("Podaj tekst");
		tekst = Console.readString("?");
		System.out.println("Podaj wzorzec (pamietaj, ze musi to byc wzorzec latwy)");
		wzorzec = Console.readString("?");
		n = tekst.length();
		m = wzorzec.length();
		System.out.println("Indeksy wystapien wzorca w tekscie");
		i=0;
		while (i<=n-m+1)
			{
			j=0;
			while ((j<m)&&(wzorzec.charAt(j)==tekst.charAt(i+j-1))) j++;
			if (j==m) System.out.println(i);
			i=(int) (i+Math.max(1,Math.ceil(j/3)));
			}
	}
}
Dodaj komentarz