ShellSort

1 resposta
O
E ae galera!!! Olha eu estou implementando um sistema que usa o algoritmo do ShellSort. Só que na hora que eu vou compilar e executar o programa ele da pau..Eu testo o programa mas ele da erro por causa do Array do java que inicia com 0 ao invez de 1 . Se eu acaso implementar o meu array com 1 de inicio na hora que eu chamo meu metodo insereShellSort ele nao executa de forma correta.. ele passa os indices... por favor de uma olhada no codigo. Se vcs puderem testar o codigo com esses valores (18 - 15- 7- 9- 23- 16 )e me disserem oq eu devo fazer para adaptar o codigo eu ficarei grato..
// Metodo de Shellsort
	public void insereShellSort(int[] nume, int grupo, int QtdadeGrupo) {
		int k = 0;
		int j = 0;
		int chave = 0;
		int i = grupo + QtdadeGrupo;
		while (i < nume.length){	
			k = grupo;
			j = i - QtdadeGrupo;
			chave = nume[i];
			while (j >= grupo && k == grupo) {
				if (chave <= nume[j]){
					nume[j + k] = nume[j];
					j = j - QtdadeGrupo;// aqui da pau se ele fazer como abaixo
				}else {
					k = j + QtdadeGrupo;
				}
			}
			nume[k] = chave;
			i = i + QtdadeGrupo;
		}
	}
	//Metodo q implementa ShellSort
	public void shellSort(int[] nume) {
		int h = nume.length / 2;
		while (h != 0) {
			for (int i = 1; i <= h; i++){ // o meu metodo ShellSort começa com 1 ate 3 h 
				insereShellSort(nume,i , h);
			}
			h = h / 2;
		}
		
		
	}

1 Resposta

O

Ja achei o erro… vlew

Criado 18 de setembro de 2006
Ultima resposta 19 de set. de 2006
Respostas 1
Participantes 1