zoukankan      html  css  js  c++  java
  • 冒泡法 XuZhao

      最近总是在不断的面试,面试的过程中发觉很多的公司很注重基础方面的技术,笔试的题目都是很简单的基础题目,只要你有一定的学习能力或者工作经验,都会很好的解决,而且基本上都是跟JavaScript打交道的多!

    1.用JavaScript;

           //冒泡泡排序方法
            function Sort(Str) {
                var arr = Str.split("");
                var _temp;
                for (var i = 0; i < Str.length; i++) {
                    for (var j = i; j < Str.length; j++) {
                        if (arr[i] < arr[j]) {
                            _temp = arr[i];
                            arr[i] = arr[j];
                            arr[j] = _temp;
                        }
                    }
                }
                alert(arr);
            }
            Sort("1876235904");
    
    

    2.自己晚上无聊,用T-SQL写的冒泡

    --冒泡泡排序方法
    create procedure Sort
    	@str varchar(max)  --传入的字符串
    as
    	begin
    		--虚拟表,模拟数组,存放分割后的数据
    		declare @table table
    		(
    			id int identity(1,1) primary key,
    			num int
    		);
    		--计算器,用于循环插入字符串,默认值为1;
    		declare @iCount varchar(128) = 1;
    		--存放外循环中的num字段的值
    		declare @temp int;
    		--存放外循环中的id字段的值
    		declare @id int;
    		--存放内循环中的num字段的值
    		declare @temp1 int;
    		--存放内循环中的id字段的值
    		declare @id1 int;
    
    		--循环分割字符串,模拟数组
    		while(@iCount <= LEN(@str))
    			begin
    				insert into @table(num) values(substring(@str,cast(@iCount as int),1));
    				set @iCount	= @iCount + 1;
    			end
    			
    		--外层循环
    		declare cursor_out cursor for select id from @table;
    		open cursor_out;
    		
    		fetch next from cursor_out into @id;
    		while @@FETCH_STATUS = 0 
    			begin
    				--内层循环
    				declare cursor_in cursor for select id from @table where id >= @id;
    				open cursor_in;
    				fetch next from cursor_in into @id1;
    				while @@FETCH_STATUS = 0
    					begin
    						set @temp = (select num from @table where id = @id);
    						set @temp1 = (select num from @table where id = @id1);
    						if(@temp < @temp1)
    							begin
    								update @table set num = @temp where id = @id1;
    								update @table set num = @temp1 where id = @id;
    							end
    						fetch next from cursor_in into @id1;
    					end
    				close cursor_in
    				deallocate cursor_in
    				fetch next from cursor_out into @id;
    			end
    
    		close cursor_out
    		deallocate cursor_out
    		
    		select num from @table;	
    	end
    go
    	exec Sort '5231497806';
    go	
    	drop procedure Sort;

    看来有的时候基础确实很重要,平时还需要更好的总结自己的基础!

  • 相关阅读:
    不可或缺 Windows Native (15)
    不可或缺 Windows Native (14)
    不可或缺 Windows Native (13)
    不可或缺 Windows Native (12)
    不可或缺 Windows Native (11)
    不可或缺 Windows Native (10)
    不可或缺 Windows Native (9)
    不可或缺 Windows Native (8)
    不可或缺 Windows Native (7)
    不可或缺 Windows Native (6)
  • 原文地址:https://www.cnblogs.com/x1988z/p/Sotr.html
Copyright © 2011-2022 走看看