标签:
数组
一维数组
需要数据类型,以及长度
int [] array =new int[5];
冒泡排序
{
for (int j = i; j < 4; j++)
{
if (array[i] < array[j + 1])
{
int zhong = array[i];
array[i] = array[j + 1];
array[j + 1] = zhong;
}
}
}
长度属性
Console.WriteLine(array.Length);
最后一位的索引是
Console.WriteLine(array.Length-1);
二维数组
3个一维数组
每个一维数组中有两个元素
int[,] array = new int[3, 2];
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
array[i, j] = int.Parse(Console.ReadLine());
}
}
{
{2,3},
{4,5},
{5,6}
};
for (int i = 0; i < 3; i++)
{
for (int j = 0; j < 2; j++)
{
Console.Write(array[i,j]+"\t");
}
}
Console.ReadLine();
三维数组 立体
3个二维数组
每个二维数组中有两个一维数组
每个一维数组中有3个元素
int [,,] array = new int[3,2,3];
ArrayList 集合
跟数组不同的:不用数据类型,可以随便放置
不需要长度
ArrayList al = new ArrayList();
添加数据(元素)
al.Add(2);
al.Add(3);
al.Add(4);
al.Add(5);
al.Add(6);
在3号索引上插入7这个元素
al.Insert(3, 7);
移除第一个出现的某个元素
al.Remove(3);
移除某个索引位置的元素
al.RemoveAt(3);
第一次出现该值的索引号
Console.WriteLine(al.IndexOf(4));
最后一次
Console.WriteLine(al.LastIndexOf(2));
克隆
ArrayList al1 = new ArrayList();
al1 = (ArrayList)al.Clone()
清空集合
al1.Clear();
排序 升序
al.Sort();
想要降序 需要先排成升序,然后翻转集合
al.Reverse();
属性 个数
Console.WriteLine(al.Count);
二维数组
输入班级人数,输入每个人的语数英成绩
求语文的总分
数学的平均分
英语的最高分和最低分
冒泡
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
double sum1= 0;
double sum2 = 0;
double zhong = 0;
double[,] a = new double[n, 3];
for (int i = 0; i < n; i++)
{
Console.Write("请输入第"+(i+1)+"个人的语文成绩:");
a[i, 0] = double.Parse(Console.ReadLine());
sum1 +=a[i,0];
Console.Write("请输入第" + (i + 1) + "个人的数学成绩:");
a[i, 1] = double.Parse(Console.ReadLine());
sum2 += a[i, 1];
Console.Write("请输入第" + (i + 1) + "个人的英语成绩:");
a[i, 2] = double.Parse(Console.ReadLine());
}
for (int i = 0; i < n;i++ )
{
for (int j = i; j < n-1;j++ )
{
if (a[i,2]<a[j+1,2])
zhong=a[i,2];
a[i, 2] = a[j + 1, 2];
a[j + 1, 2] = zhong;
}
}
Console.WriteLine("语文总分为"+sum1+"分");
Console.WriteLine("数学平均分为"+sum2/n+"分");
Console.WriteLine("英语最高分为"+a[0,2]);
Console.WriteLine("英语最低分为"+a[n-1,2]);
Console.ReadLine();
ArrayList
输入班级人数,输入每个人的姓名,语数英成绩进入一个集合
求语文的总分
数学的平均分
英语的最高分和最低分的同学的所有信息
冒泡
(0姓名、1语文、2数学、3英语的分数)
Console.Write("请输入班级人数:");
int n = int.Parse(Console.ReadLine());
ArrayList al = new ArrayList();
double yu = 0;
double shu = 0;
for (int i = 0; i < n;i++ )
{
Console.Write("请输入第"+(i+1)+"个学生的姓名:");
al.Add( Console.ReadLine());
Console.Write("请输入第" + (i + 1) + "个学生语文成绩:");
al.Add(Console.ReadLine());
yu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第" + (i + 1) + "个学生的数学成绩:");
al.Add(Console.ReadLine());
shu += double.Parse(al[al.Count - 1].ToString());
Console.Write("请输入第" + (i + 1) + "个学生的英语成绩:");
al.Add(Console.ReadLine());
}
Console.WriteLine("成绩输入完毕,请确认!");
Console.ReadLine();
Console.WriteLine("语文成绩的总分:"+yu);
Console.WriteLine("数学成绩的平均分:"+(shu/n));
for (int i = 3; i < 4 * n - 1;i+=4 )
{
for (int j = i; j < 4 * n - 4;j+=4 )
{
if (double.Parse(al[i].ToString())<double.Parse(al[j+4].ToString()))
{
姓名
object zhong=al[i-3];
al[i-3]=al[j+1];
al[j + 1] = zhong;
语文成绩
zhong=al[i-2];
al[i-2]=al[j+2];
al[j + 2] = zhong;
数学成绩
zhong=al[i-1];
al[i - 1] = al[j + 3];
al[j + 3] = zhong;
英语成绩
zhong = al[i ];
al[i ] = al[j + 4];
al[j + 4] = zhong;
}
}
}
Console.WriteLine("英语成绩最高的是{0},英语成绩为{1},语文成绩为{2},数学成绩为{3}",al[0],al[3],al[1],al[2]);
for (int i = 3; i < 4 * n - 1; i+=4)
{
for (int j = i; j < 4 * n - 4; j+=4)
{
if (double.Parse(al[i].ToString()) > double.Parse(al[j + 4].ToString()))
{
姓名
object zhong = al[i - 3];
al[i - 3] = al[j + 1];
al[j + 1] = zhong;
语文成绩
zhong = al[i - 2];
al[i - 2] = al[j + 2];
al[j + 2] = zhong;
数学成绩
zhong = al[i - 1];
al[i - 1] = al[j + 3];
al[j + 3] = zhong;
英语成绩
zhong = al[i];
al[i] = al[j + 4];
al[j + 4] = zhong;
}
}
}
Console.WriteLine("英语成绩最低的是{0},英语成绩为{1},语文成绩为{2},数学成绩为{3}", al[0], al[3], al[1], al[2]);
Console.ReadLine();
}
初始化 干草堆 stack集合
先进后出,一个一个的赋值,一个一个的取值
Stack ss = new Stack();
添加元素(推送) push
ss.Push(1);
ss.Push(2);
ss.Push(3);
ss.Push(4);
ss.Push(5);
个数
Console.WriteLine(ss.Count);
弹出
Console.WriteLine(ss.Pop());
单纯查看,不弹出
Console.WriteLine(ss.Peek());
foreach(int aa in ss)
{
Console.WriteLine(aa);
}
清空集合
ss.Clear();
Console.ReadLine();
队列集合 初始化
先进先出,一个一个取值、赋值
Queue que = new Queue();
添加元素
que.Enqueue(2);
que.Enqueue(3);
que.Enqueue(4);
que.Enqueue(5);
que.Enqueue(6);
移除
que.Dequeue();
个数
Console.WriteLine(que.Count);
清空集合
que.Clear();
foreach (int aa in que)
{
Console.Write(aa+"\t");
}
Console.ReadLine();
哈希表集合
先进后出,一个一个赋值,但是只能一起取值
初始化
Hashtable ht = new Hashtable();
ht.Add(1,"可口可乐");
ht.Add(2, "雪碧");
ht.Add(3, "百事可乐");
ht.Add(4, "芬达");
ht.Add(5, "美年达");
移除(某个key值的位置的元素)
ht.Remove(3);
判断是否包含
Console.WriteLine( ht.Contains(5));
Console.WriteLine(ht.Count);
foreach (int aa in ht.Keys)
{
Console.WriteLine(aa);
}
foreach (string ss in ht.Values)
{
Console.WriteLine(ss);
}
使用枚举类型来读取(表格样式)
IDictionaryEnumerator ide = ht.GetEnumerator();
while(ide.MoveNext())
{
Console.WriteLine(ide.Key+"\t"+ide.Value);
}
Console.ReadLine();
标签:
原文地址:http://www.cnblogs.com/fuze/p/5721310.html