你手里有一张牌,A,接起一张Q,插入手中,你发现Q比A小,把它放在了A前面。又接起一张K,你先发现K比Q大,然后又发现K比A小,把K放在A前面。
这里有3个插入动作。我来解释一下
当插入第一个元素时,数组a[0]直接赋值A。因为不需要比
插入第二个时需要循环,从0到当前元素的个数··可写一个getsize()的函数 一个一个去比较。如果手中的牌key比元素大时,用continue跳过,如果key比元素a[i]小,则a[i]后面的所有元素向后移一位把key放在原来a[i]的地方。
ok如果你的数组是动态分配的,那么期间还需要使用realloc(size+1)的内存操作。插入成功后,size也要+1.说完了