扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
void zhisaizi() { int i; i= (int)5*rand()+1; switch(i) case 1: //载入第一张图片 case 2: //载入第二张图片 case 3: 。。。。。。//省略中间过程 case 6: //载入第六张图片 } |
int apai[13],bpai[13]; //apai,bpai分别代表两玩家手中的牌,如果你做的是四个人 //的麻将,可你在自由扩展 void fapai() { int a,b; int i;//i代表发牌的起始位置 if((i/2)= =0)//是否为偶数 apai[a++]=pai[i++]; //双数牌发给a玩家 else bpai[b++]=pai[i++];//单数牌发给b玩家 } |
8 7 4 3 6 1 //是要排序的数值 7 8 4 3 6 1 //第一次,取得7,小于前面的8,交换位置 7 4 8 3 6 1 //第二次,取得4,小于前面的8,交换位置 4 7 8 3 6 1 //第三次,小于再前面的7,交换位置 4 7 3 8 6 1 //第四次,取得3,小于前面的8,交换位置 4 3 7 8 6 1 //第五次,小于再前面的7,交换位置 3 4 7 8 6 1 //第六次,小于再前面的4,交换位置 3 4 7 6 8 1 //第七次,取得6,小于前面的8,交换位置 3 4 6 7 8 1 //第八次,小于再前面的7,交换位置 3 4 6 7 1 8 //第九次,取得1,小于前面的8,交换位置 3 4 6 1 7 8 //第十次,小于再前面的7,交换位置 3 4 1 6 7 8 //第十一次,小于再前面的6,交换位置 3 1 4 6 7 8 //第十二次,小于在前面的4,交换位置 1 3 4 6 7 8 //第十三次,小于再前面的3,交换位置 我们把这种方法叫做“插入排序法”。下面是源代码。 void paixu ()// 用插入排序法 { for (int i = 1; i <=13; i++) { int temp = apai[i];//取得一个数 int j; for ( j = i; j > 0 && temp < apai[j - 1]; j--) //和他前面的每一个数进行比较, apai[j] = apai[j - 1]; //如果这个数小于她前面的数就交换 apai[j] = temp;//插入到正确位置 }//end for }//end |
8 7 4 3 6 1 //是要排序的数值 7 8 4 3 6 1 //第一次,取得7,小于前面的8,交换位置 7 4 8 3 6 1 //第二次,取得4,小于前面的8,交换位置 4 7 8 3 6 1 //第三次,小于再前面的7,交换位置 3 4 7 8 6 1 //第四次,取得3,小于前面的数组(4 7 8)中的中间数值7比较,小于7,所以比较数组(4 7)中间数值4,大于4,并交换到合适位置 3 4 6 7 8 1 //第五次,取得6,小于前面的数组(3 4 7 8)中的7,再与再靠前的数组(3 4 7)中间值4比较,大于4,交换位置 1 3 4 7 8 6 //第六次,取得1,小于再前面的数组(3 4 6 7 8)中间值6,再与数组 (3 4 6)中间值4比较,小于4,最后与数组(3 4)中间值3 比较, 小于3,交换位置 |
void paixu()//用折半排序法 { for (int i = 1; i < =13; i++) { int temp = apai[i]; //取得数值 int low = 0, high = i - 1;//low,high,分别表示比较范围的上下限 while (low <= high)//折半查找 { int mid = (low + high) / 2; //取得中间位置 if ( temp < apai[mid]) //如果小于中间位置的值 high = mid - 1; //从新确定下限 else //如果大于中间位置的值 low = mid + 1; //从新确定上限 }//end while for (int j = i - 1; j >= low; j--) apai[j + 1] = apai[j]; //记录后移 apai[low] = temp; //插入到合适位置 }//end for }//end |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者