用下面的代码把一个文件中的行按长度排序,这样写功能是没问题,但不知效率上是否可以优化?
ArrayList arrPhrase = new ArrayList();
StreamReader sr = new StreamReader(txtInput.Text, Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)
{
if (line.Trim().Length>1)
arrPhrase.Add(line.Trim());
}
sr.Close();
SortLen sl = new SortLen();
arrPhrase.Sort(sl);
SortLen 类的实现:
public class SortLen : IComparer
{
int IComparer.Compare(object a, object b)
{
return (((string)b).Length - ((string)a).Length);
}
}
不知上面的代码是否有优化改进以提高效率的可能?
StreamReader sr = new StreamReader(txtInput.Text, Encoding.Default);
String line;
while ((line = sr.ReadLine()) != null)
{
if (line.Trim().Length>1)
arrPhrase.Add(line.Trim());
}
sr.Close();
SortLen sl = new SortLen();
arrPhrase.Sort(sl);
SortLen 类的实现:
public class SortLen : IComparer
{
int IComparer.Compare(object a, object b)
{
return (((string)b).Length - ((string)a).Length);
}
}
不知上面的代码是否有优化改进以提高效率的可能?
...全文
相关推荐
基于C语言的优化冒泡排序核心代码
这种优化方式能够显著提高算法在最好情况下的效率(即输入数组已经是有序的情况下)。#### 三、代码详解1.
js代码-冒泡排序(从大到小排序)
**优化策略**:为了提高效率,可以添加一个标志位来检查某次遍历是否进行了交换。如果没有交换,说明数组已经是有序的,可以提前结束排序。
希尔排序的算法代码
在给出的代码中,`ShellSort`函数实现了希尔排序的基本流程:1. 首先检查输入参数是否有效,如果`data`指针为空或者`length`小于等于0,则直接返回,避免无效操作。2.
一个快速排序算法代码分享
函数首先检查长度是否大于1,因为如果长度为1或更小,数组已经是有序的,无需排序。接着,它选择数组的第一个元素作为基准值(`flag`),并进行分区操作。
用Python写冒泡排序代码
为了优化冒泡排序,可以添加一个标志位`swapped`来检查在一次遍历中是否有任何交换发生。如果没有交换发生,说明列表已经有序,可以提前结束排序。


