赞
踩
- //单链表不带头结点
- #include<stdio.h>
- #include<stdlib.h>
-
- typedef struct LNode{
- int data;
- struct LNode *next;
- }LNode, * LinkList;
-
-
- LinkList initList(LinkList list){
- list=NULL;
- return list;
- }
-
- //插数据(第一个位置)(指定位置)
- LinkList insertFirst(LinkList list,int index,int data){
- if(index == 1){
- LNode *newNode = (LNode *)malloc(sizeof(LNode));
- if(newNode==NULL){
- return list;
- }
- (*newNode).next = list;
- list = newNode;
- (*newNode).data = data;
- return list;
- }
- return list;
- }
-
- //插数据(指定位置)
- int insertList(LinkList list,int index,int data){
- LNode *tmp=list;
- int j=1;
- if(list==NULL){
- return 0;
- }
- if(index<2){
- return 0;
- }
- while(tmp!=NULL&&j<index-1){
-
- tmp=(*tmp).next;
- j++;
- }
-
- if(tmp==NULL){
- return 0;
- }
-
- LNode *newNode=(LNode *)malloc(sizeof(LNode));
- if(newNode==NULL){
- return 0;
- }
- (*newNode).data=data;
- (*newNode).next=(*tmp).next;
- (*tmp).next=newNode;
- return 1;
- }
-
- //插数据(指定结点后)
- int insertNextNode(LNode *p,int data){
- if(p==NULL){
- return 0;
- }
- LNode *newNode=(LNode *)malloc(sizeof(LNode));
- if(newNode==NULL){
- return 0;
- }
- (*newNode).data=data;
- (*newNode).next=(*p).next;
- (
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。