C# 课堂总结5-数组
一、
数组:解决同一类大量数据在内存存储和运算的功能。
1、一维数组
定义:制定类型,指定长度,指定名称。
int[] a=new int[5]
int[] a=new int[5]{23,23,23,1,2,1}
int[] a=new int[]{45,23,34}会把前三个值赋值,后两个元素保持默认值0.
int[] a=new int[]{34,234,5,3,4,23};
取值:
数组名[下标值]
数组的优点:
1.对于大量数据来说,保存的时候,定义一个数组即可解决。
2.用循环来控制数组的下标,可以对数组进行批量操作。
eg.
int[] a=new int[5];
//数组的批量赋值
for(int i=0;i<5;i++)
{
a[i]=(i+1)*4;
}
//数组的批量取值
for(int j=0;j<5;j++)
{
console.writeline(a[j]);
}
案例一:做一个教练为10个球员打分的程序。
//eg.7 球员成绩打分
static void Main7(string[] args)
{
int[] a=new int[];
int sum = ;
double aver = 0.0;
//Console.WriteLine("请输入球员成绩的总个数:");
//int n=int.Parse(Console.ReadLine()); for (int i = ; i < a.Length; i++)
{
Console.WriteLine("请输入第"+(i+)+"个球员的成绩:");
a[i] = Convert.ToInt32(Console.ReadLine());
} for (int i = ; i <= a.Length - ; i++)
{
for (int j = ; j <= a.Length - i; j++)
{
if (a[j - ] < a[j])
{
int t = a[j - ];
a[j - ] = a[j];
a[j] = t;
}
}
} foreach (int e in a)
{
Console.Write(e+"\t");
} for (int i = ; i < a.Length - ; i++)
{
sum += a[i];
} aver = sum / (a.Length - ); Console.WriteLine("该选手的平均成绩是{0}。",aver);
}
数组的应用
一、冒泡排序
1.冒泡排序是用双层循环解决。外层循环的是趟数,里层循环的是次数。
2.趟数=n-1;次数=n-趟数。
3.里层循环使用if比较相邻的两个数的大小。进行数值交换。
程序如下
static void Main2(string[] args)
{
int[] a = new int[] { , , , , , , , };
for (int i = ; i <= a.Length - ; i++)//趟数
{
for (int j = ; j <= a.Length - i - 1; j++)//次数, 趟数+次数==数组个数,a.Length - i,每趟都有沉到底的一个不用再排
{
if (a[j - ] < a[j])
{
int t = a[j - ];
a[j - ] = a[j];
a[j] = t;
}
}
}
//显示
for (int k = ; k < a.Length; k++)
{
Console.WriteLine(a[k]);
}
Console.ReadKey();
}
二、折半查找
前提:数组必须是有序的
思路:用两个变量分别代表上限(top)和下限(bottom)的下标,再用一个变量代表中间的下标(mid)。
1.求中间的下标:mid=(top+bottom)/2
2.上限下标下移:top=mid+1.假设数组是升序排列。
3.下限下标上移:bottom=mid-1.
4.循环条件是:bottom>=top
程序如下:
//折半查找
static void Main3(string[] args)
{
int[] d = new int[] { , , , , , , , };
Console.Write("请输入要查找的数字:");
int find = Convert.ToInt32(Console.ReadLine());
int top = ;
int bottom = d.Length - ;
int mid;
while (top <= bottom)
{
//取中间的坐标
mid = (bottom + top) / ;
//取中间的值
int n = d[mid];
if (find > n)
{
top = mid + ;
}
else if (find < n)
{
bottom = mid - ;
}
else
{
Console.WriteLine("你找到了该数字,在第" + (mid + ) + "个");
break;
}
}
Console.ReadKey();
}
二维数组
eg.1推箱子
//eg.6 推箱子 自己做
static void Main6a(string[] args)
{
//定义地图
#region 定义地图,初始化坐标
int[,] a = new int[, ]{
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,}};
int x, y, t, m, n, k;
x = ; y = ;
m = ; n = ;
#endregion #region 显示地图
//把地图显示,必须显示地图,否则会有等待按键的延时!
Console.Clear();//清屏
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//Console.ForegroundColor = ConsoleColor.White; if (a[i, j] == )
Console.Write("♀");
else if (a[i, j] == )
Console.Write(" ");
else if (a[i, j] == )
{
//Console.ForegroundColor = ConsoleColor.Red;
Console.Write("☆");
// Console.ForegroundColor = ConsoleColor.White;
}
else if (a[i, j] == )
Console.Write("■");
else
Console.Write("□");
}
Console.WriteLine();
}
#endregion while (a[,]!=)
{ ConsoleKeyInfo s = Console.ReadKey(); #region 向右移动
if ((s.Key.ToString() == "RightArrow"))
{
t = a[x, y];
k = a[m, n]; //小人走的下一步有3种情况:是不是墙?是不是箱子?是不是终点?
if (a[x, y + ] != && a[x, y + ] != && a[x, y + ] != )
{
a[x, y] = a[x, y + ];
a[x, y + ] = t;
y++;
} else if (a[x, y + ] == )//小人的下一步如果是箱子的话
{
if (a[m, n + ] != && a[m, n + ] != )//箱子的下一步只有墙,终点 这两个分支
{
//箱子移动后的改变
a[m, n] = a[m, n + ];
a[m, n + ] = k;
n++; //人移动后的替换
a[x, y] = a[x, y + ];
a[x, y + ] = t;
y++;
}
else if (a[m, n + ] == )//箱子的下一步是墙,空操作,不动
{
Console.WriteLine("\a");
}
else if (a[m, n + ] == )//箱子的下一步 是 终点
{
a[x, y + ] = ;
a[x, y + ] = ;
a[x, y] = ;
//y++;
//m++;
} } else if (a[x, y + ] == || a[x, y + ] == )//小人的下一步如果是墙或者终点的话
{
Console.WriteLine("\a");
}
}
#endregion #region 向上移动
else if ((s.Key.ToString() == "UpArrow"))
{
t = a[x, y];
k = a[m, n]; //小人走的下一步有3种情况:是不是墙?是不是箱子?是不是终点?
if (a[x - , y] != && a[x - , y] != && a[x - , y] != )
{
a[x, y] = a[x - , y];
a[x - , y] = t;
x--;
} else if (a[x - , y] == )//小人的下一步如果是箱子的话
{
if (a[m - , n] != && a[m - , n] != )//箱子的下一步只有墙,终点 这两个分支
{
//箱子移动后的改变
a[m, n] = a[m - , n];
a[m - , n] = k;
m--; //人移动后的替换
a[x, y] = a[x - , y];
a[x - , y] = t;
x--;
}
else if (a[m - , n] == )
{ }
else if (a[m - , n] == )
{
a[m, n] = a[x - , y] = ;
a[m - , n] = ;
a[x, y] = ;
m--;
y--;
}
} else if (a[x - , y] == || a[x - , y] == )//小人的下一步如果是墙或者终点的话
{ }
}
#endregion #region 向下移动
else if ((s.Key.ToString() == "DownArrow"))
{
t = a[x, y];
k = a[m, n]; //小人走的下一步有3种情况:是不是墙?是不是箱子?是不是终点?
if (a[x+, y] != && a[x+, y] != && a[x+, y] != )
{
a[x, y] = a[x+, y];
a[x+, y] = t;
x++;
} else if (a[x + , y] == )//小人的下一步如果是箱子的话
{
if (a[m + , n] != && a[m + , n] != )//箱子的下一步只有墙,终点 这两个分支
{
//箱子移动后的改变
a[m, n] = a[m + , n];
a[m + , n] = k;
m++; //人移动后的替换
a[x, y] = a[x + , y];
a[x + , y] = t;
x++;
}
else if (a[m + , n] == )
{ }
else if (a[m + , n] == )
{
a[m, n] = a[x+, y] = ;
a[m+, n] = ;
a[x, y] = ;
m++;
y++;
}
} else if (a[x + , y] == || a[x + , y] == )//小人的下一步如果是墙或者终点的话
{ }
}
#endregion #region 向左移动
else if ((s.Key.ToString() == "LeftArrow"))
{
t = a[x, y];
k = a[m, n]; //小人走的下一步有3种情况:是不是墙?是不是箱子?是不是终点?
if (a[x, y - ] != && a[x, y - ] != && a[x, y - ] != )
{
a[x, y] = a[x, y - ];
a[x, y - ] = t;
y--;
} else if (a[x, y - ] == )//小人的下一步如果是箱子的话
{
if (a[m, n - ] != && a[m, n - ] != )//箱子的下一步只有墙,终点 这两个分支
{
//箱子移动后的改变
a[m, n] = a[m, n - ];
a[m, n - ] = k;
n--; //人移动后的替换
a[x, y] = a[x, y - ];
a[x, y - ] = t;
y--;
}
else if (a[m, n - ] == )
{ }
else if (a[m, n - ] == )
{
a[m, n] = a[x, y - ] = ;
a[m, n - ] = ;
a[x, y] = ;
n--;
y--;
}
} else if (a[x, y - ] == || a[x, y - ] == )//小人的下一步如果是墙或者终点的话
{ }
}
#endregion #region 显示地图
//把地图显示,必须显示地图,否则会有等待按键的延时!
Console.Clear();//清屏
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//Console.ForegroundColor = ConsoleColor.White; if (a[i, j] == )
Console.Write("♀");
else if (a[i, j] == )
Console.Write(" ");
else if (a[i, j] == )
{
//Console.ForegroundColor = ConsoleColor.Red;
Console.Write("☆");
// Console.ForegroundColor = ConsoleColor.White;
}
else if (a[i, j] == )
Console.Write("■");
else
Console.Write("□");
}
Console.WriteLine();
}
#endregion
}
}
//eg.6 推箱子 老师版
static void Main6b(string[] args)
{
#region 定义地图,初始化坐标
int[,] a = new int[, ]{
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,},
{,,,,,,,,,}}; int x = , y = ;//定义坐标的时候不用定义多个,可以用x,y与之关联性相加或相减
#endregion #region 显示地图
//把地图显示,必须显示地图,否则会有等待按键的延时!
//Console.Clear();//清屏
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//Console.ForegroundColor = ConsoleColor.White; if (a[i, j] == )
Console.Write("♀");
else if (a[i, j] == )
Console.Write(" ");
else if (a[i, j] == )
{
//Console.ForegroundColor = ConsoleColor.Red;
Console.Write("☆");
// Console.ForegroundColor = ConsoleColor.White;
}
else if (a[i, j] == )
Console.Write("■");
else
Console.Write("□");
}
Console.WriteLine();
}
#endregion while (a[, ] != || a[, ] != || a[, ] != )
{
ConsoleKeyInfo key = Console.ReadKey(); #region 向右走
if (key.Key.ToString() == "RightArrow")
{
if (y < )//右移最大不会超过y=8坐标
{
if (a[x, y + ] == )//人的下一步只能是空地,或箱子,或墙,或终点,先判断空地,老师选择是==情况,我选的是!=情况,区别
{
a[x, y + ] = ;
a[x, y] = ;
//走过终点后,再让终点恢复出来!
if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ;
y++; }
else if (a[x, y + ] == )//人的下一步是终点
{
a[x, y + ] = ;
a[x, y] = ;
y++;
}
else if (a[x, y + ] == && a[x, y + ] == )//人的下一步是箱子,箱子的下一步是空地
{
a[x, y + ] = ;
a[x, y + ] = ;
a[x, y] = ; if (a[, ] != && a[, ] != )
a[, ] = ;
if (a[, ] != && a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != && a[, ] != )
a[, ] = ; y++;
}
else if (a[x, y + ] == && a[x, y + ] == )//人的下一步是箱子,箱子的下一步是终点
{
a[x, y + ] = ;
a[x, y + ] = ;
a[x, y] = ; if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ; y++;
}
else //其中包括,人的下一步是墙,箱子的下一步是墙
Console.WriteLine("\a");
}
else
Console.WriteLine("\a");
}
#endregion #region 向左走
if (key.Key.ToString() == "LeftArrow")
{
if (y > )//左移最小不会小于y=1坐标
{
if (a[x, y - ] == )//人的下一步只能是空地,或箱子,或墙,先判断空地
{
a[x, y - ] = ;
a[x, y] = ; if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ;
y--;
}
else if (a[x, y - ] == )
{
a[x, y - ] = ;
a[x, y] = ;
y--;
}
else if (a[x, y - ] == && a[x, y - ] == )//人的下一步是箱子
{
a[x, y - ] = ;
a[x, y - ] = ;
a[x, y] = ;
y--;
}
else if (a[x, y - ] == && a[x, y - ] == )//人的下一步是箱子,箱子的下一步是终点
{
a[x, y - ] = ;
a[x, y - ] = ;
a[x, y] = ;
y--;
}
else //其中包括,人的下一步是墙,箱子的下一步是墙
Console.WriteLine("\a");
}
else
Console.WriteLine("\a");
}
#endregion #region 向上走
if (key.Key.ToString() == "UpArrow")
{
if (x > )//上移不能超过x=8坐标
{
if (a[x - , y] == )//人的下一步只能是空地,或箱子,或墙,先判断空地
{
a[x - , y] = ;
a[x, y] = ; if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ; x--;
}
else if (a[x - , y] == )//人下一步是终点,走上去的时候照样替换,走之后,就是人下一步是空地的问题了
{
a[x - , y] = ;
a[x, y] = ;
x--;
}
else if (a[x - , y] == && a[x - , y] == )//人的下一步是箱子,箱子的下一步是空地
{
a[x - , y] = ;
a[x - , y] = ;
a[x, y] = ; if (a[, ] != &&a[, ] != )
a[, ] = ;
if (a[, ] != &&a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != &&a[, ] != )
a[, ] = ; x--;
}
else if (a[x - , y] == && a[x - , y] == )//人的下一步是箱子,箱子的下一步是终点
{
a[x - , y] = ;
a[x - , y] = ;
a[x, y] = ; if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ; x--;
}
else //其中包括,人的下一步是墙,箱子的下一步是墙
Console.WriteLine("\a");
}
else
Console.WriteLine("\a");
}
#endregion #region 向下走
if (key.Key.ToString() == "DownArrow")
{
if (x < )//下移不能超过x=8坐标,只能下走增大,给个上限就可以
{
if (a[x + , y] == )//人的下一步只能是空地,或箱子,或墙,先判断空地
{
a[x + , y] = ;
a[x, y] = ;
if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if(a[, ] != )
a[, ] = ;
x++;
}
else if (a[x + , y] == )//解决人不能通过终点坐标问题
{
a[x + , y] = ;
a[x, y] = ;
x++;
}
else if (a[x + , y] == && a[x + , y] == )//人的下一步是箱子,箱子的下一步是空地
{
a[x + , y] = ;
a[x + , y] = ;
a[x, y] = ; if (a[, ] != &&a[, ] != )
a[, ] = ;
if (a[, ] != &&a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != &&a[, ] != )
a[, ] = ; x++;
}
else if (a[x + , y] == && a[x + , y] == )//人的下一步是箱子,箱子的下一步是终点
{
a[x + , y] = ;
a[x + , y] = ;
a[x, y] = ; if (a[, ] != )
a[, ] = ;
if (a[, ] != )//当箱子推入终点后,如果人的下一步是空地的话,此时就不能让终点的坐标还显示,而是显示箱子
a[, ] = ;
if (a[, ] != )
a[, ] = ; x++;
}
else //其中包括,人的下一步是墙,箱子的下一步是墙
Console.WriteLine("\a");
}
else
Console.WriteLine("\a");
}
#endregion #region 重新显示地图(按键之后的地图)
//把地图显示,必须显示地图,否则会有等待按键的延时!
Console.Clear();//清屏
for (int i = ; i < ; i++)
{
for (int j = ; j < ; j++)
{
//Console.ForegroundColor = ConsoleColor.White; if (a[i, j] == )
Console.Write("♀");
else if (a[i, j] == )
Console.Write(" ");
else if (a[i, j] == )
{
//Console.ForegroundColor = ConsoleColor.Red;
Console.Write("☆");
// Console.ForegroundColor = ConsoleColor.White;
}
else if (a[i, j] == )
Console.Write("■");
else
Console.Write("□");
}
Console.WriteLine();
}
#endregion
}
Console.WriteLine("恭喜你过关了!");
Console.ReadLine();
}
eg.2 抽手机号中奖问题
//eg.8 抽奖游戏
static void Main8(string[] args)
{
Console.WriteLine("请输入要抽奖的手机号的个数:");
int a = int.Parse(Console.ReadLine()); string[] b=new string[a]; for (int i = ; i < b.Length; i++)
{
Console.WriteLine("请输入第"+(i+)+"个手机号:");
b[i] = Console.ReadLine();
} DateTime dt = DateTime.Now;
dt = dt.AddSeconds();
while (true)
{
for (int i = ; i < b.Length;i++ )
{
Console.Clear();
Console.WriteLine(b[i]);
Thread.Sleep(); //break 跳出的只是for 不是 while 循环,错误
//if (dt.ToString("yyyy/MM/ddHHmmss") == DateTime.Now.ToString("yyyy/MM/ddHHmmss"))
//{
// //Console.WriteLine("18753351659");
// break;
//}
//else
//{ //} } if (dt.ToString() == DateTime.Now.ToString())
{
//Console.WriteLine("18753351659");
break;
}
else
{ }
}
//Console.Clear(); 作弊方法
//Console.WriteLine("18753351639");
Console.ReadLine();
}
eg.3 红篮球摇号问题
//eg.9 摇号 蓝球,红球
static void Main9(string[] args)
{
//int lan = 0;
string[] a = new string[];
Random r = new Random(); //a[0] =Convert.ToString(r.Next(17));
//a[1] = " "; int i = ;
for ( ; i<= a.Length - ; )
{
int b = r.Next();
//if(a.Contains(a[i])),这样就永远返回true类型了
if (a.Contains(b.ToString()))//也可用(!=)i--;来做
{
continue;
}
else
{
a[i] = b.ToString();
i++;
}
} a[] = Convert.ToString(r.Next());
a[] = " "; foreach (string j in a)
{
Console.Write(j+"\t");
}
}
eg.4 投票选举问题(下标的选择 也可由投票的号码来定)
//eg.5-1 投票 0--代表第一个人候选人,1代表第二个候选人。。。。共5个人(老师版)
static void Main51(string[] args)
{
//
int[] vote = new int[];
for (int i = ; i < ; i++)
{
Console.Write("请第" + (i + ) + "位同学投票(0-4):");
int temp = Convert.ToInt32(Console.ReadLine());
if (temp < || temp > )
{
Console.WriteLine("废票");
continue;
}
else
{
vote[temp]++;
}
} //计算最终得票
int max = , maxSub = ;
for (int i = ; i < vote.Length; i++)
{
//把每位候选人的票数显示出来。
Console.WriteLine("第" + (i + ) + "号候选人的票数是" + vote[i]);
//计算谁得票最多
if (vote[i] > max)
{
max = vote[i];
maxSub = i;
}
}
//显示最终结果
Console.WriteLine("最终投票结果为:" + maxSub + "号候选人当选,当选的票数是" + max + "票。");
Console.ReadKey();
}
//eg.5-2 投票 1--代表第一个人候选人,2代表第二个候选人。。。。共5个人
static void Main52(string[] args)
{
int[] ren = new int[];
int[] vote = new int[]; for (int i = ; i <= ren.Length - ; i++)
{
Console.WriteLine("请第" + (i + ) + "公民投票:");
ren[i] = int.Parse(Console.ReadLine());
if (ren[i] > || ren[i] < )
{
Console.WriteLine("废票,请重投票!");
i--;
continue;
}
else
{
vote[ren[i] - ]++;
}
} int max = vote[];
for (int i = ; i < vote.Length; i++)
{
if (max <= vote[i])
{
max = vote[i];
}
}
Console.WriteLine("最高票数是{0}票", max); for (int i = ; i < vote.Length; i++)
{
if (max == vote[i])
{
//int y = i + 1;
Console.WriteLine("候选人是第{0}位选手。", i + );
}
}
}
C# 课堂总结5-数组的更多相关文章
- Java课堂测试——一维数组
题目: 一个典型的流程是: 2. 用户这时候有两个选择2.1 按 单步执行 键, 在 GUI 看到你的程序是如何一步一步算出目前最大子数组的范围,当前计算到的临时子数组是在哪里,等等. 最好用不同的 ...
- linux基础—课堂随笔09_数组
数组:(6.14 第一节) 取分区利用率,大于百分之八十则发出警报 取分区第一列 取分区使用率: 脚本: 检查脚本语法: ——end 数组切片: 1.跳过前两个取后面 2.跳过前两个取三个 生成10个 ...
- Java入门:基础算法之求数组元素的和
本程序计算数组中所有元素的和. 代码1:数组元素由程序内部初始化 /** * @author: 理工云课堂 * @description: 求数组元素的和 */ class SumOfArray{ p ...
- 20155312 2016-2017-2 《Java程序设计》第十周学习总结
20155312 2016-2017-2 <Java程序设计>第十周学习总结 ## 课堂内容总结 数组 遍历数组: for(...,arr) for(i=0;i<arr.length ...
- 20162327WJH2016-2017-2《程序设计与数据结构》课程总结
20162327WJH2016-2017-2<程序设计与数据结构>课程总结 一.每周作业链接汇总 第一周作业:算法分析 第三周作业:查找与排序 第五周作业:有关栈的总结 第七周作业:树的有 ...
- C语言的一小步—————— 一些小项目及解析
——-------- 仅以此献给东半球第二优秀的C语言老师,黑锤李某鸽,希望总有那么一天我们的知识可以像他的丰臀一样渊博! bug跟蚊子的相似之处: 1.不知道藏在哪里. 2.不知道有多少. 3.总是 ...
- C基础的练习集及测试答案(31-39)
31.读懂以下程序,说明程序的功能#include<stdio.h>int main(){ int m,n,r,m1,m2; printf("请输入2个正整数:"); ...
- 网易云课堂_C语言程序设计进阶_第二周:指针:取地址运算和指针、使用指针、指针与数组、指针与函数、指针与const、指针运算、动态内存分配_2信号报告
2 信号报告(5分) 题目内容: 无线电台的RS制信号报告是由三两个部分组成的: R(Readability) 信号可辨度即清晰度. S(Strength) 信号强度即大小. 其中R位于报告第一 ...
- JAVA中数组总结(课堂总结)
数组的特点: Arrays(数组)一种简单的数据结构元素具有相同的数据类型一旦创建之后,尺寸保持不变元素在内存中连续分布例子一:按引用与按值传递的示例源代码: // PassArray.java // ...
- 妙味课堂:JavaScript初级--第12课:json与数组
1.json数据格式及json语法 <!DOCTYPE html> <html lang="en"> <head> <meta chars ...
随机推荐
- find the most comfortable road(并差集,找差值最小的权值)
find the most comfortable road Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K ...
- BZOJ 1618: [Usaco2008 Nov]Buying Hay 购买干草( dp )
无限背包dp.. 因为题目中说至少到 H 磅 , 我就直接把 H * 2 了.. ----------------------------------------------------------- ...
- Spring AOP基于xml配置实例
SpringAOP里的几个术语,什么切面,切点之类的,官方的说明太抽象.为了更好地理解记忆,这里几下我自己的通俗的理解. 切面:就是日记类,什么前置通知后置通知(这些都是所谓的Advice)的具体方法 ...
- web.xml 的加载顺序
context-param -> listener -> filter -> servlet
- php随笔5-thinkphp OA系统 人力资源管理
最近闲来无事,自己尝试通过thinkphp3.1.3框架开发一套自己的OA系统,目前已完成了人力资源管理部分的内容,遇到并解决了几个问题. 1.由于刚开始不太熟悉thinkphp的框架,花费了一些功夫 ...
- Oracle逐行累加求和
最近遇到一个比较常见的问题,每行记录需要累加求和.这些问题倒不是有多难,主要是在工作的过程中会经常遇到,特别是Oracle自带的一些函数也能够很好地解决这样一些通用的查询计算,在此记录一下. 问题描述 ...
- Cygwin ssh
http://www.evalumation.com/blog/86-cygwin-windows7-sshd
- 最长回文串(manacher算法)
; ; int p[N]; char str[LEN], tmp[N]; //p[i]表示以str[i]为中心的回文往右延伸的 最长长度 void manacher(char* str, int* p ...
- CSS的三种样式:内联式,嵌入式,外部式以及他们的优先级
从CSS 样式代码插入的形式来看基本能够分为下面3种:内联式.嵌入式和外部式三种. 1:内联式css样式表就是把css代码直接写在现有的HTML标签中,如以下代码: <p style=" ...
- vim下使用YouCompleteMe实现代码提示、补全以及跳转设置
配置YouCompleteMe 1. 安装vundle vundle是一个管理vim插件的工具,使用vundle安装YouCompleteMe比较方便. 按照作者在https://github.com ...