高手帮我看看:错误 1 无法将类型“int[]”隐式转换为“test.Program.SeqList<int>” C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\test\test\Program.cs 236 29 testusing System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace test
{
class Program
{
public interface IListDS<T>
{
int Getlength(); //求长度
void Clear(); //清空
bool IsEmpty(); //判断线性表是否为空
void Append(T Item); //追加操作
void Insert(T Item,int i); //插入操作
T Delete(int i); //删除操作
T GetElem(int i);//取表元
int Locate(T value);//按值查找
void ReversSeqList();//导致操作
}
public class SeqList<T> : IListDS<T>
{
private int maxsize; //表的容量
private T[] Data; //数组,用于存放列表的数据元素
private int last; //指示表中最后一个元素的位置 //索引器
public T this[int Index]
{ get
{
return Data[Index];
}
set
{
Data[Index] = value;
} } //最后一个元素的位置
public int Last
{
get
{
return last;
}
} //容量属性
public int Maxsize
{
get
{
return maxsize;
}
set
{
Maxsize = value;
}
} //构造器
public SeqList(int size)
{
Data = new T[size];
maxsize = size;
last = -1;
}
//表的长度
public int Getlength()
{
return last + 1;
}
//清空表
public void Clear()
{
last = -1;
} //判断表是否为空 public bool IsEmpty()
{
if (last == -1)
{
return true;
}
else
{
return false;
}
} //判断表是否为满
public bool IsFull()
{
if (last == maxsize - 1)
{
return true;
}
else
{
return false;
}
} //在表末尾添加新元素
public void Append(T Item)
{
if (last == maxsize - 1)
{
Console.WriteLine("表已达最大值!");
return;
}
else
{
Data[++last] = Item;
}
} //在表中插入一个新元素
public void Insert(T Item, int i)
{
if (IsFull())
{
Console.WriteLine("List is Full!");
return;
}
if (i < 1 || i > last + 2)
{
Console.WriteLine("越界!");
return;
}
if (i == last + 2)
{
Data[last + 1] = Item;
}
else
{
for (int j = last; j >= i - 1; --i)
{
Data[j + 1] = Data[j];
}
Data[i - 1] = Item;
}
++last;
}
//删除表中第i个元素
public T Delete(int i)
{
T tmp = default(T);
if (IsEmpty())
{
Console.WriteLine("List is Empty!");
return tmp;
}
if (i < 1 || i > last + 1)
{
Console.WriteLine("数组越界!");
return tmp;
}
if (i == last + 1)
{
tmp = Data[last--];
}
else
{
tmp = Data[i - 1];
for (int j = i; j <= last; i++)
{
Data[j] = Data[j + 1];
}
}
--last;
return tmp;
} //获得表中第i个元素
public T GetElem(int i)
{
if (IsEmpty() || (i < 1) || (i > last + 1))
{
Console.WriteLine("List is Empty or Position is error!");
return default(T);
}
else
{
return Data[i - 1];
}
}
//在表中查找值为value的元素 public int Locate(T value)
{
if (IsEmpty())
{
Console.WriteLine("List is Empty!");
return -1;
}
int i = 0;
for (i = 0; i <= last; ++i)
{
if (value.Equals(Data[i]))
{
break;
}
}
if (i > last)
{
return -1;
}
return i;
}
//倒置操作
public void ReversSeqList()
{
T tmp =default(T);
int len = Getlength();
for (int i = 0; i <= len / 2; i++)
{
tmp = Data[i];
Data[i] = Data[len - i];
Data[len - i] = tmp;
}
}
}
static void Main(string[] args)
{
SeqList<int> a =new int[]{ 12, 13, 14, 15, 16, 17 };
a.ReversSeqList();
Console.WriteLine(a);
}
}
}错误 1 无法将类型“int[]”隐式转换为“test.Program.SeqList<int>” C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\test\test\Program.cs 236 29 test
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace test
{
class Program
{
public interface IListDS<T>
{
int Getlength(); //求长度
void Clear(); //清空
bool IsEmpty(); //判断线性表是否为空
void Append(T Item); //追加操作
void Insert(T Item,int i); //插入操作
T Delete(int i); //删除操作
T GetElem(int i);//取表元
int Locate(T value);//按值查找
void ReversSeqList();//导致操作
}
public class SeqList<T> : IListDS<T>
{
private int maxsize; //表的容量
private T[] Data; //数组,用于存放列表的数据元素
private int last; //指示表中最后一个元素的位置 //索引器
public T this[int Index]
{ get
{
return Data[Index];
}
set
{
Data[Index] = value;
} } //最后一个元素的位置
public int Last
{
get
{
return last;
}
} //容量属性
public int Maxsize
{
get
{
return maxsize;
}
set
{
Maxsize = value;
}
} //构造器
public SeqList(int size)
{
Data = new T[size];
maxsize = size;
last = -1;
}
//表的长度
public int Getlength()
{
return last + 1;
}
//清空表
public void Clear()
{
last = -1;
} //判断表是否为空 public bool IsEmpty()
{
if (last == -1)
{
return true;
}
else
{
return false;
}
} //判断表是否为满
public bool IsFull()
{
if (last == maxsize - 1)
{
return true;
}
else
{
return false;
}
} //在表末尾添加新元素
public void Append(T Item)
{
if (last == maxsize - 1)
{
Console.WriteLine("表已达最大值!");
return;
}
else
{
Data[++last] = Item;
}
} //在表中插入一个新元素
public void Insert(T Item, int i)
{
if (IsFull())
{
Console.WriteLine("List is Full!");
return;
}
if (i < 1 || i > last + 2)
{
Console.WriteLine("越界!");
return;
}
if (i == last + 2)
{
Data[last + 1] = Item;
}
else
{
for (int j = last; j >= i - 1; --i)
{
Data[j + 1] = Data[j];
}
Data[i - 1] = Item;
}
++last;
}
//删除表中第i个元素
public T Delete(int i)
{
T tmp = default(T);
if (IsEmpty())
{
Console.WriteLine("List is Empty!");
return tmp;
}
if (i < 1 || i > last + 1)
{
Console.WriteLine("数组越界!");
return tmp;
}
if (i == last + 1)
{
tmp = Data[last--];
}
else
{
tmp = Data[i - 1];
for (int j = i; j <= last; i++)
{
Data[j] = Data[j + 1];
}
}
--last;
return tmp;
} //获得表中第i个元素
public T GetElem(int i)
{
if (IsEmpty() || (i < 1) || (i > last + 1))
{
Console.WriteLine("List is Empty or Position is error!");
return default(T);
}
else
{
return Data[i - 1];
}
}
//在表中查找值为value的元素 public int Locate(T value)
{
if (IsEmpty())
{
Console.WriteLine("List is Empty!");
return -1;
}
int i = 0;
for (i = 0; i <= last; ++i)
{
if (value.Equals(Data[i]))
{
break;
}
}
if (i > last)
{
return -1;
}
return i;
}
//倒置操作
public void ReversSeqList()
{
T tmp =default(T);
int len = Getlength();
for (int i = 0; i <= len / 2; i++)
{
tmp = Data[i];
Data[i] = Data[len - i];
Data[len - i] = tmp;
}
}
}
static void Main(string[] args)
{
SeqList<int> a =new int[]{ 12, 13, 14, 15, 16, 17 };
a.ReversSeqList();
Console.WriteLine(a);
}
}
}错误 1 无法将类型“int[]”隐式转换为“test.Program.SeqList<int>” C:\Documents and Settings\Administrator\My Documents\Visual Studio 2008\Projects\test\test\Program.cs 236 29 test
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货