日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

基于visual Studio2013解决C语言竞赛题之1049抓牌排序

發(fā)布時(shí)間:2023/12/1 编程问答 39 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于visual Studio2013解决C语言竞赛题之1049抓牌排序 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.



題目


解決代碼及點(diǎn)評(píng)

/* 功能:插入排序。許多玩牌的人是以這樣的方式來(lái)對(duì)他們手中的牌進(jìn)行排序的:設(shè)手中原有3張牌已排好序,抓1張新牌,若這張新牌的次序在原來(lái)的第2張牌之后,第3張牌之前,那么就把這張新牌放在第3張牌的位置上,原來(lái)的第3張改為第4張,然后再抓新牌。按著這個(gè)算法,編寫一個(gè)排序程序。注:開始一張牌也沒(méi)有,從第一張牌開始抓起。時(shí)間:23:34 2013/10/24 */#include<stdio.h> #include<stdlib.h>struct card {int num;struct card *pNext; };typedef struct card CARD;CARD *initList(int); //鏈表初始化聲明,第一張牌 void insertList(CARD *p,int n); //在第i個(gè)元素后插入 void showAll(CARD *p);void main() {CARD *pHead=initList(2); //頭結(jié)點(diǎn)創(chuàng)建,next=NullinsertList(pHead,4);insertList(pHead,3);insertList(pHead,1);showAll(pHead);system("pause"); }void showAll(CARD *p) {do {printf("%d \n",p->num);} while((p->pNext!=NULL) && (p=p->pNext)); }void insertList(CARD *p,int n) {CARD *pNew=(CARD *)malloc(sizeof(CARD)); //分配新結(jié)點(diǎn)if(pNew==NULL)return;if(n<p->num) //判斷n是否小于頭結(jié)點(diǎn) 如果小于,將頭結(jié)點(diǎn)的值與n交換{int temp=p->num;p->num=n;n=temp;}CARD *Prior=p; //用來(lái)保存前結(jié)點(diǎn)while(n>p->num && p->pNext!=NULL) //當(dāng)n大于當(dāng)前結(jié)點(diǎn)時(shí),指針向后移,知道小于當(dāng)前結(jié)點(diǎn)或next為NULL時(shí)終止{Prior=p; //循環(huán)結(jié)束后,為當(dāng)前結(jié)點(diǎn)的前結(jié)點(diǎn)p=p->pNext;}if(n<p->num) //當(dāng)n<小于當(dāng)前結(jié)點(diǎn),則在當(dāng)前結(jié)點(diǎn)前插入n{Prior->pNext=pNew;pNew->pNext=p;pNew->num=n;}if(p->pNext==NULL && n>p->num) //假設(shè)牌碼最大,則在鏈表尾部插入{p->pNext=pNew;pNew->pNext=NULL;pNew->num=n;}} CARD *initList(int n) {CARD *p=(CARD *)malloc(sizeof(CARD));if(p==NULL)return NULL; //分配失敗返回空p->num=n;p->pNext=NULL;return p; }

代碼編譯以及運(yùn)行

由于資源上傳太多,資源頻道經(jīng)常被鎖定無(wú)法上傳資源,同學(xué)們可以打開VS2013自己創(chuàng)建工程,步驟如下:

1)新建工程

2)選擇工程

3)創(chuàng)建完工程如下圖:

4)增加文件,右鍵點(diǎn)擊項(xiàng)目

5)在彈出菜單里做以下選擇

6)添加文件

7)拷貝代碼與運(yùn)行


程序運(yùn)行結(jié)果


代碼下載

http://download.csdn.net/detail/yincheng01/6681845

解壓密碼:c.itcast.cn




轉(zhuǎn)載于:https://www.cnblogs.com/new0801/p/6177435.html

總結(jié)

以上是生活随笔為你收集整理的基于visual Studio2013解决C语言竞赛题之1049抓牌排序的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。