• 冒泡法 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;

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

  • 相关阅读:
    android 瀑布流的实现详解,附源码
    NodeJs新手学习笔记之工具准备
    android app的类响应式设计
    开源一个友盟 for android 操作的封装包
    谈谈多门程序语言的学习策略之一
    谈谈android 布局 的优化
    android 滑动指引页的设计
    彻底弄懂CSS盒子模式
    关于内容管理系统IWMS的几个问题
    数码相机常用英文缩写对照表
  • 原文地址:https://www.cnblogs.com/x1988z/p/Sotr.html
Copyright © 2020-2023  润新知