• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 众包
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
William_Goodman
博客园 | 首页 | 新随笔 | 新文章 | 联系 | 订阅 订阅 | 管理

10 2019 档案

 
栈习题(1)-对于任意的无符号的的十进制数m,写出将其转换为十六进制整数的算法(正确输出即可)
摘要:1 /*对于任意的无符号的的十进制数m,写出将其转换为十六进制整数的算法(正确输出即可)*/ 2 /* 3 算法思想:利用辗转取余法,每次都将余数存入栈中,直到被除数等0,退出循环。 4 输出栈里的内容即可 5 */ 6 void ToHex(int m) 7 { 8 SqStack S; 9 int k, *e; 10 InitStack(S); 11 while (m > 0) 12 { 13 阅读全文
posted @ 2019-10-10 22:45 William_Goodman 阅读(1083) 评论(0) 推荐(0)
链表习题(9)-编写一算法,将链表中数据域值最小的结点移到链表的最前面。要求不能申请新结点
摘要:1 /*编写一算法,将链表中数据域值最小的结点移到链表的最前面。要求不能申请新结点*/ 2 /* 3 算法思想:找到最小值结点,及其前驱,然后通过修改指针域达到要求 4 */ 5 void MoveMinToFirst(LinkList& L) 6 { 7 LNode *pre = L, *p = L->next; 8 LNode *premin = pr... 阅读全文
posted @ 2019-10-10 19:52 William_Goodman 阅读(2829) 评论(0) 推荐(1)
链表习题(8)-寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下
摘要:1 /*寻找单链表中数据域大小为k的结点,并与前一结点交换,如果前一结点存在的情况下*/ 2 /* 3 算法思想:定义两个指针,pre指向前驱结点,p指向当前结点,当p->data == k的时候,交换 4 pre->data和p->data 5 */ 6 void SwapData(LinkList& L, int k) 7 { 8 LNode *pre... 阅读全文
posted @ 2019-10-10 19:22 William_Goodman 阅读(475) 评论(0) 推荐(0)
链表习题(7)-将两个递增单链表合并成一个递减单链表
摘要:1 /*将两个递增单链表合并成一个递减单链表*/ 2 /* 3 算法思想:两个链表已经按元素值递增次序排序,将其合并时,均从第一个结点起进行比较,将较小的 4 结点链入链表中,同时后移工作指针。由于结果链表是递减的,故使用头插法建立新链表。比较结束后, 5 可能会有一个链表非空,此时用头插法将剩下的结点依次插入新链表中即可。 6 */ 7 void Unio... 阅读全文
posted @ 2019-10-10 19:13 William_Goodman 阅读(2115) 评论(0) 推荐(0)
链表习题(6)-链表返回倒数第k个数的位置的值
摘要:1 /*链表返回倒数第k个数的位置的值*/ 2 /* 3 算法思想:先取得链表的长度len,之后获取len-k+1的位置元素的值 4 */ 5 Elemtype Getelem_rear(LinkList L, int k) 6 { 7 if (k next; 15 i--; 16 } 17 cout data data; 19 } ... 阅读全文
posted @ 2019-10-10 18:52 William_Goodman 阅读(251) 评论(0) 推荐(0)
链表习题(5)-给定两个单链表,编写算法找出两个链表的公共结点
摘要:1 /*给定两个单链表,编写算法找出两个链表的公共结点*/ 2 /* 3 算法思想:两个链表有公共结点的话,那么从第一个公共结点开始,后面的结点都是相同的,不可 4 能出现分叉。又由于两个链表的长度不一定一样,故不能同时遍历两个链表。 5 可以先得到两个链表的长度l1,l2,设l1-l2=k,那么在教长的链表上遍历k个结点,在同步遍历两个链 6 表,保... 阅读全文
posted @ 2019-10-10 00:12 William_Goodman 阅读(2129) 评论(0) 推荐(1)
顺序表习题(1)-打印非递减数组a与b的升序并集(去除重复元素)
摘要:1 void Print_Union(SqList a,SqList b) 2 { 3 int p = 0, q = 0; //初始化指针 4 int flag = -1; //记录上一次打印的元素 5 while (p!=a.length&&q!=b.length) 6 { 7 //a与b均非空时 8 ... 阅读全文
posted @ 2019-10-09 23:42 William_Goodman 阅读(547) 评论(0) 推荐(0)
链表习题(4)-有一个带头结点的单链表,编写算法使其元素递增有序
摘要:1 /*有一个带头结点的单链表,编写算法使其元素递增有序*/ 2 /* 3 算法思想:利用直接插入排序的思想,先构成只含有一个数据结点的有序单链表,然后依次插入 4 剩余结点到合适的位置。 5 */ 6 void Sort(LinkList& L) 7 { 8 LNode *p = L->next, *pre; 9 LNode *r = p->n... 阅读全文
posted @ 2019-10-09 22:59 William_Goodman 阅读(3477) 评论(0) 推荐(0)
链表习题(3)-将带头结点的链表进行逆置
摘要:1 /*将带头结点的链表进行逆置*/ 2 /* 3 算法思想:设逆置链表尾空,将原链表中的结点依次删除后,按头插法插入逆置链表中,直至 4 原链表为空 5 */ 6 void Reverse(LinkList& L) 7 { 8 LNode *p, *q; 9 p = L->next; 10 L->next = NULL; 11 ... 阅读全文
posted @ 2019-10-09 22:21 William_Goodman 阅读(746) 评论(0) 推荐(0)
链表习题(2)-一个集合用带头结点的单链表L表示,编写算法删除其值最大的结点。
摘要:1 /*一个集合用带头结点的单链表L表示,编写算法删除其值最大的结点。*/ 2 /* 3 算法思想:使用pre,p,premax,max四个指针,pre和p进行比较,premax和max进行最后的删除操作 4 通过遍历找到最大的值,后进行删除 5 */ 6 void Delete_Max(LinkList& L) 7 { 8 LNode *pre = L, *p = L->next; 9 LNod 阅读全文
posted @ 2019-10-09 22:05 William_Goodman 阅读(1089) 评论(0) 推荐(0)
链表习题(1)-设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点
摘要:1 /*设计一个递归算法,删除不带头结点的单链表L中所有值为x的结点*/ 2 /* 3 算法思想:设f(L,x)的功能是删除以L为首结点指针的单链表中所有值等于x的结点, 4 则显然有f(L->next,x)的功能是删除以L->next为首结点指针的单链表中所有值等于x 5 的结点。递归模型如下: 6 终止条件:f(L,x)=不做任何事情 若L为空表 7 递归主体:f(L,x)=删除*L结点;f( 阅读全文
posted @ 2019-10-09 21:35 William_Goodman 阅读(3089) 评论(0) 推荐(0)
排序-快速排序
摘要:参考视频:https://www.bilibili.com/video/av62621532?t=534 阅读全文
posted @ 2019-10-07 11:53 William_Goodman 阅读(175) 评论(0) 推荐(0)
排序-堆排序
摘要:1 #include<iostream> 2 using namespace std; 3 4 void swap(int arr[], int i, int j) 5 { 6 int temp = arr[i]; 7 arr[i] = arr[j]; 8 arr[j] = temp; 9 } 10 11 void heapify(int tree[], int n, int i)//n是结点总数 阅读全文
posted @ 2019-10-07 00:14 William_Goodman 阅读(136) 评论(0) 推荐(0)
图-图的遍历
摘要:广度优先遍历(BFS) 过程分析 初始化一个队列。访问A顶点,将A顶点入队,之后出队。同时将与A顶点相邻接的顶点B,F入队 访问B结点,将B结点出队,同时将与B结点相邻接,且还未被访问过的顶点C,I,G入队 访问F结点,将F结点出队,同时将于F结点相邻接,且还未被访问过的顶点G,E入队。之后同理,直 阅读全文
posted @ 2019-10-02 13:00 William_Goodman 阅读(587) 评论(0) 推荐(0)
图-图的表示方法
摘要:图的表示法 邻接矩阵表示法-表示顶点间邻接关系的矩阵 无向图的邻接矩阵 无向图的邻接矩阵 (1)无向图的邻接矩阵式对称矩阵,可以压缩存储;有n个结点的无向图需要的存储空间为n(n+1)/2 (2)无向图的中,顶点vi的度是邻接矩阵中的第i行元素之和 有向图的邻接矩阵 有向图的邻接矩阵 (1)有向图的 阅读全文
posted @ 2019-10-01 21:20 William_Goodman 阅读(2354) 评论(0) 推荐(0)
 

公告


博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3