
作业社区
探索学习新天地,共享知识资源!
别摸我的键盘 的学生作业:
#include void select_sort(char *arr, int len) { for (int i = 0; i < len; ++i) { int k = i; for (int j = i + 1; j < len; ++j) { if (arr[k] > arr[j]) { k = j; } } if (i != k) { arr[i] ^= arr[k]; arr[k] ^= arr[i]; arr[i] ^= arr[k]; } } } void print_arr(char *p, int len) { for (int i = 0; i < len; ++i) { if (p[i] == "\0" || p[i] == NULL) { continue; } printf("%c ", p[i]); } printf("\n"); } /** * 选择排序 * @param argc * @param argv * @return */ int main(int argc, const char *argv[]) { setbuf(stdout, NULL); char arr[] = "decba"; int len = sizeof(arr) / sizeof(arr[0]); print_arr(arr, len); select_sort(arr, len); print_arr(arr, len); return 0; } 执行结果 d e c b a a b c d e





weixin_慕哥3021856 的学生作业:
// 练习1 int depth(bitree_t *root) { if (!root) return 0; else { return depth(root->lchild) > depth(root->rchild)? depth(root->lchild) + 1: depth(root->rchild) + 1; } } // 练习2 void sort_linklist(linknode_t *head) { int n = 0, i = 0, j = 0; // n:链表的元素个数 datatype_t td = 0; // td:临时变量 linknode_t *p = NULL; linknode_t *tmp = NULL; if (is_empty_linkedlist(head)) return; p = head; while (p->next) { n++; p = p->next; } for (i = 0; i < n - 1; i++) { p = head->next; j = 0; while (p->next && j < n - 1 - i) { tmp = p->next; if (p->data > tmp->data) { td = p->data; p->data = tmp->data; tmp->data = td; } p = p->next; j++; } } return; } // 练习3 linknode_t *and_linklist(linknode_t *head1, linknode_t *head2) { linknode_t *newh = head1; linknode_t *p1 = head1->next; linknode_t *p2 = head2->next; linknode_t *p3 = newh; while (p1 && p2) { if (p1->data < p2->data) { p3->next = p1; p3 = p1; p1 = p1->next; } else { p3->next = p2; p3 = p2; p2 = p2->next; } } p3->next = p1? p1: p2; free(head2); head1 = head2 = NULL; return newh; } 练习4【图片】




