真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

單鏈表的練習(xí)-頭插法

/*單鏈表的練習(xí)-頭插法*/
/*單鏈表由頭結(jié)點(diǎn)就可以唯一確定*/
#include?
#include?
#include?
//定義單鏈表結(jié)構(gòu)
typedef?struct?Node{
	int?data;??//數(shù)據(jù)域
	Node?*?pNext;??//指針域
}NODE,*?PNODE;

PNODE?create_list(void);??//創(chuàng)建鏈表
void?show_list(PNODE?pHead);??//顯示鏈表
void?insert(PNODE?pHead,int?pos,int?inval);?//向鏈表中某個(gè)位置插入元素
int?deleteList(PNODE?pHead,int?pos);?//刪除鏈表某個(gè)位置上的值
void?find(PNODE?pHead,int?fval);??//在鏈表中查找某個(gè)元素

void?main(){
	PNODE?pHead?=?NULL;??//定義一個(gè)頭結(jié)點(diǎn),初始值為空
	pHead?=?create_list();
	show_list(pHead);
	insert(pHead,2,100);
	show_list(pHead);
	find(pHead,3);
	printf("你所刪除的值是%d\n",deleteList(pHead,2));
	show_list(pHead);
}

PNODE?create_list(void){
	int?length,val;
	PNODE?pHead?=?(PNODE)malloc(sizeof(NODE));??//向內(nèi)存申請頭節(jié)點(diǎn)空間
	pHead->pNext=NULL;???//開始的時(shí)候只有頭結(jié)點(diǎn)自身,沒有其它結(jié)點(diǎn)
	if(NULL?==?pHead){
		printf("分配失敗,程序終止");
		exit(-1);
	}
	printf("請輸入需要生成的單鏈表的長度:");
	scanf("%d",&length);
	for(int?i=0;idata=val;???//給新申請的結(jié)點(diǎn)數(shù)據(jù)域賦值
		pNew->pNext=pHead->pNext;??//頭指針指向的下一個(gè)結(jié)點(diǎn)的地址賦給了新結(jié)點(diǎn)的指針域,也就是在當(dāng)前頭結(jié)點(diǎn)后面直接插入一個(gè)新結(jié)點(diǎn)
		pHead->pNext=pNew;?//頭結(jié)點(diǎn)指向了新的結(jié)點(diǎn)

	}
	return?pHead;???//函數(shù)返回頭結(jié)點(diǎn)的地址
}

void?show_list(PNODE?pHead){
	printf("單鏈表的值如下:\n");
	PNODE?P?=?pHead->pNext;
	while(P?!=?NULL){??????//while巡檢打印出所以結(jié)點(diǎn),直到下個(gè)結(jié)點(diǎn)不存在
		printf("%d?",P->data);
		P=P->pNext;
	}
	printf("\n");
}

void?insert(PNODE?pHead,int?pos,int?inval){
	PNODE?P?=?pHead;
	int?j=0;
	while(P?!=?NULL?&&?jpNext;
		j++;
	}
	if(P?==?NULL){
		printf("插入失敗\n");
		exit(-1);
	}else{
		PNODE?pNew?=?(PNODE)malloc(sizeof(NODE));??//申請新的結(jié)點(diǎn)
		pNew->data=inval;???//將要插入的值賦值給新結(jié)點(diǎn)的數(shù)據(jù)域
		pNew->pNext=P->pNext;??//新結(jié)點(diǎn)指向P指針指向的下一個(gè)結(jié)點(diǎn)
		P->pNext=pNew;?//P指針?biāo)诘慕Y(jié)點(diǎn)指向新結(jié)點(diǎn)
		printf("你已經(jīng)成功的插入了元素%d到鏈表中.\n",inval);
	}
}

int?deleteList(PNODE?pHead,int?pos){
	PNODE?P?=?pHead,S;
	
	int?j=0,x;
	if(P?!=?NULL?&&?jpNext;
		j++;
	}
	if(P?==?NULL){
		printf("刪除失敗,數(shù)組是空的");
		exit(-1);
	}else{
		S?=?P->pNext;
		P->pNext?=?S->pNext;
		x?=?S->data;
		free(S);
		return?x;
	}
}

void?find(PNODE?pHead,int?fval){
	PNODE?P?=?pHead;
	int?cnt=0;
	if(P?==?NULL){
		printf("不用找了,鏈表是空的\n");
		exit(-1);
	}
	while(P?!=?NULL){
		P?=?P->pNext;
		++cnt;
		if(P->data==fval){
			printf("你要找的數(shù)%d在鏈表中,它在鏈表的第%d個(gè)位置\n",fval,cnt);
			break;
		}
	}
}

結(jié)果截圖

創(chuàng)新互聯(lián)公司是專業(yè)的吳起網(wǎng)站建設(shè)公司,吳起接單;提供成都網(wǎng)站設(shè)計(jì)、做網(wǎng)站,網(wǎng)頁設(shè)計(jì),網(wǎng)站設(shè)計(jì),建網(wǎng)站,PHP網(wǎng)站建設(shè)等專業(yè)做網(wǎng)站服務(wù);采用PHP框架,可快速的進(jìn)行吳起網(wǎng)站開發(fā)網(wǎng)頁制作和功能擴(kuò)展;專業(yè)做搜索引擎喜愛的網(wǎng)站,專業(yè)的做網(wǎng)站團(tuán)隊(duì),希望更多企業(yè)前來合作!

單鏈表的練習(xí)-頭插法


分享題目:單鏈表的練習(xí)-頭插法
文章來源:http://weahome.cn/article/jcgcpd.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部