Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- function insercionBinaria( array &$arreglo, $item ) {
- if ( empty ( $arreglo ) ) {
- $arreglo[] = $item;
- return $arreglo;
- }
- $i = 0; $j = count($arreglo) - 1;
- while ( $i <= $j ) {
- $mid = floor( ( $i + $j ) / 2 );
- if ( $arreglo[$mid] <= $item ) {
- $i = $mid + 1;
- } else {
- $j = $mid - 1;
- }
- }
- array_splice( $arreglo, $i, 0, array( $item ) );
- return $arreglo;
- }
- class OrdenamientoBinarioTest extends PHPUnit_Framework_TestCase {
- /**
- * @dataProvider getInsercionData
- */
- public function testInsercionBinaria($arreglo, $item, $resultado)
- {
- $this->assertEquals( $resultado, insercionBinaria( $arreglo, $item ) );
- }
- public function getInsercionData() {
- return array(
- array( array(), 1, array(1) ),
- array( array(1, 3), 2, array(1, 2, 3) ),
- array( array(5), 4, array(4, 5) ),
- array( array(2, 6, 8), 7, array(2, 6, 7, 8) ),
- array( array(2, 6, 8), 9, array(2, 6, 8, 9) ),
- );
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement