欢迎来到天天文库
浏览记录
ID:57254305
大小:27.50 KB
页数:3页
时间:2020-08-07
《C#插入排序的问题.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、C#插入排序用c#写在插入前判断这个数的插入位置,然后将这个位置起的全部元素后移一位。返回一个数组。思路:原来的数组a按从小到大排序,插入一个insertNumber后,返回的数组result的长度是a的长度加1个,结果数组result的初始值是来自a数组,假设数组result的最后一个数是insertNumber,默认insertNumber是最大的。首先看insertNumber与第一个元素(最小的)比较,如果insertNumber小于第一个。说明insertNumber才是真正最小的,此时将insertNumber放在索引0位置,其他依次递
2、推。如果insertNumber大于第一个,则查看insertNumber是否在result[i]与result[i+1]之间,如果是,那么我们将insertNumber插入i+1的位置从索引[i+2]开始依次想后面移动一位。代码如下(控制台程序):usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Runtime.InteropServices;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem
3、.IO;usingSystem.Security.Cryptography;namespaceRemainerMaths{classProgram{publicstaticvoidMain(string[]args){int[]a={1,3,5,7,10};int[]test={0,2,3,4,6,9,14,20};strings1="";for(intk=0;k4、ult[i]+",";}s1+="";}Console.WriteLine(s1);Console.ReadLine();}//////为初始数组(已经从小到大排列好)插入一个元素,形成一个新的数组并排序//////初始数组,从小到大已经排列好///插入的数///publicstaticint[]AddOneElement(int[]a,intinsertN5、umber){int[]result=newint[a.Length+1];a.CopyTo(result,0);//将insertNumber默认为最大值放在最大索引位置result[result.Length-1]=insertNumber;if(insertNumber0;j--){result[j]=result[j-1];}result[0]=insertNumber;returnresult;}for(inti=0;i6、{if(insertNumber>=result[i]&&insertNumber<=result[i+1]){for(intj=result.Length-1;j>i+1;j--){result[j]=result[j-1];}result[i+1]=insertNumber;break;}}returnresult;}}}程序运行结果:
4、ult[i]+",";}s1+="";}Console.WriteLine(s1);Console.ReadLine();}//////为初始数组(已经从小到大排列好)插入一个元素,形成一个新的数组并排序//////初始数组,从小到大已经排列好///插入的数///publicstaticint[]AddOneElement(int[]a,intinsertN
5、umber){int[]result=newint[a.Length+1];a.CopyTo(result,0);//将insertNumber默认为最大值放在最大索引位置result[result.Length-1]=insertNumber;if(insertNumber0;j--){result[j]=result[j-1];}result[0]=insertNumber;returnresult;}for(inti=0;i6、{if(insertNumber>=result[i]&&insertNumber<=result[i+1]){for(intj=result.Length-1;j>i+1;j--){result[j]=result[j-1];}result[i+1]=insertNumber;break;}}returnresult;}}}程序运行结果:
6、{if(insertNumber>=result[i]&&insertNumber<=result[i+1]){for(intj=result.Length-1;j>i+1;j--){result[j]=result[j-1];}result[i+1]=insertNumber;break;}}returnresult;}}}程序运行结果:
此文档下载收益归作者所有