首先你的外层for循环少了{},所以外层循环一次就结束了,而你输入的数据来看,·1 是有重复的,所以循环结束后t=1 , 所以if(t==0)这条没走,k还是0,再后面循环输出的结果 n-k =10 , 输出10 ,
而后面输出数组b时,由于b数组没有改变,也没有初始化,所以输出系统给分配的乱八糟的。
总之,你外层for 循环少了{} ,修改如下:
for(i=0; i<n; i++)
{
for(j=i+1; j<n; j++)
{
}
if(t==0)
{
}
}
顺序表是最简单的数据组织方式,具有易用、空间开销小以及对数据元素进行高效随机存取的优点,但也具有不便插入和查询的操作与需要预先分配存储空间的缺点,是静态数据存储方式的理想选择。
链表的优缺点与顺序表相反,适用于经常进行插入和查询操作的线性表,也适用于无法确定长度和长度经常性变化的线性表,但具有不便于按位序号进行存取操作,不能进行随机存取的缺点,是动态数据存储方式的理想选择。
数位顺序表在我们研究数时起了便于计算和排列得作用,数位顺序表指各个计数单位所占的位置的顺序表,如万所占的位置是万位。
数字上的每个数字都有其相应的计数单位,如个位的计数单位是个,十位的计数单位是十。每相邻两个计数单位之间的进率是10。
顺序表的访问是很灵活的。从时间效率上来说是O(1)的。而删除与增加操作,却很花费时间,时间复杂度O(n)。而链表的增加与删除是很快捷的。但其访问却很花费时间。如果在做大型项目时。需要两者兼具,那么就可以用hash表。
之于前两者应用场合,举个简单的例子,著名的“猴子报数问题”就能够明显的比较链表与数组的差别。
欢迎分享,转载请注明来源:浪漫分享网
评论列表(0条)