Example #1
0
int main(){
	
	Element* head = (Element*)malloc(sizeof(Element));
	memset(head, 0, sizeof(Element));
	head->data = 0;
	head->next = NULL;
	insertHead(&head, 1);
	insertHead(&head, 2);
	insertHead(&head, 3);
	
	// Test to insert in front of head
	insertAfter(&head, NULL, 4);
	insertAfter(&head, head, 5);
	
	printHeadData(&head);
	printLinkedList(&head);
	// deleteHead(&head);
	// deleteHead(&head);
	// deleteHead(&head);
	// deleteHead(&head);
	
	Element* select = findMToLastElement(&head, 2);
	printf("lastMElem: %d\n", select->data);
	
	deleteHead(&head);
	deleteList(&head);
	printHeadData(&head);
	printLinkedList(&head);
	
	
	return 0;
}
Example #2
0
int deleteMethod(const char *filename, int socket) {

	char header[128];	//Malloc on this
	char content[N];   // Malloc on this

	if (access(filename, F_OK) == -1) {
		notFoundHead(header, 1);
		strcpy(content, header);
		strcat(content, "\nDocument not found!\n\0");
		if (write(socket, content, strlen(content)) < 0) {
			perror("Error in write().");
			return -1;
		}
		return 0;
	} else {
		if (unlink(filename) < 0) {
			notFoundHead(header, 1);
			strcpy(content, header);
			strcat(content, "\nDocument not found!\n\0");
			if (write(socket, content, strlen(content)) < 0) {
				perror("Error in write().");
				return -1;
			}
			return 0;
		} else {
			deleteHead(header);
			if (write(socket, header, strlen(header)) < 0) {
				perror("Error in write().");
				return -1;
			}
		}
	}
	return 0;
}
 /**
  * @param head: The first node of linked list.
  * @return: head node
  */
 ListNode * deleteDuplicates(ListNode *head) {
     // write your code here
     if (head == NULL || head->next == NULL) return head;
     //消除头部重复的元素
     head = deleteHead(head);
     if (head == NULL || head->next == NULL) return head;
     //消除中间重复的元素
     ListNode *temp = head;
     ListNode *temp1 = head->next;
     while (temp1 != NULL && temp1->next != NULL) {
         if (temp1->val == temp1->next->val) {
             temp->next = NULL;
             temp->next = deleteHead(temp1);
         }
         temp = temp->next;
         temp1 = NULL;
         if (temp != NULL) temp1 = temp->next;
     }
     return head;
 }
int main(){
	InitStack(&stack0);
	InitStack(&stack1);
	int origin[] = {1,2,3,4,5,6};
	int length = sizeof(origin)/sizeof(int);
	int i=0;
	int testNum = 3;
	for(i=0;i<testNum;i++){
		appendTail(origin[i]);
	}
	for(i=0;i<testNum;i++){
		printf("%d",deleteHead());
	}
	
	for(i=testNum;i<length;i++){
		appendTail(origin[i]);
	}
	for(i=testNum;i<length;i++){
		printf("%d",deleteHead());
	}
	
}