[英]C# Sorted list without LINQ and SORT
我的問題是,是否可以創建一個列表,將這些對象放在其中后對其中的對象進行排序?
一無所獲后,我做了一個新的鏈表。 唯一的任務是使該列表按其將包含的對象的字符串字段排序,同時保持可教導性。
我有以下代碼:
class LancoltLista<T> : IEnumerable
{
class ListaElem
{
public T tartalom;
public ListaElem kovetkezo;
}
ListaElem fej;
public void ElejereBeszuras(T elem)
{
ListaElem uj = new ListaElem();
uj.tartalom = elem;
uj.kovetkezo = fej;
fej = uj;
}
public void VegereBeszuras(T elem)
{
if (fej == null)
{
ElejereBeszuras(elem);
}
else
{
ListaElem e = fej;
while (e.kovetkezo != null)
{
e = e.kovetkezo;
}
ListaElem uj = new ListaElem();
uj.tartalom = elem;
e.kovetkezo = uj;
}
}
public IEnumerator GetEnumerator()
{
return new ListaBejaro(fej);
}
class ListaBejaro : IEnumerator<T>
{
ListaElem elso, jelenlegi;
public ListaBejaro(ListaElem elso)
{
this.elso = elso;
jelenlegi = null;
}
public bool MoveNext()
{
if (jelenlegi == null)
{
jelenlegi = elso;
}
else
{
jelenlegi = jelenlegi.kovetkezo;
}
return jelenlegi != null;
}
public void Reset()
{
jelenlegi = null;
}
object IEnumerator.Current
{
get { return this.jelenlegi.tartalom; }
}
public T Current
{
get { return this.jelenlegi.tartalom; }
}
public void Dispose()
{
elso = null;
jelenlegi = null;
}
}
}
這里的問題是我無法比較p.kulcs和kulcs。
對於現實世界的應用程序,您可以使用內置的SortedList<T>
。
對於家庭作業,您將必須對照整個列表檢查在add方法中獲得的每個項目,並將其插入正確的位置:介於大於或等於的最后一個元素與小於等於的第一個元素之間,然后。
當然,如果列表為空,或者沒有元素大於添加的元素,則只需將元素追加到最后一個可用位置。
由於這是家庭作業,因此我將讓您自己編寫代碼。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.