日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

数据结构与算法(8-1)顺序表查找及优化

發布時間:2023/11/27 生活经验 21 豆豆
生活随笔 收集整理的這篇文章主要介紹了 数据结构与算法(8-1)顺序表查找及优化 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

目錄

?

一、順序表查找

二、順序表查找優化(重點)

總代碼


一、順序表查找

從頭到尾或從尾到頭查找。

//順序表查找(需要判斷兩次)
int ListSearch(char ch)
{for (int i = 0; i < strlen(str); i++)					//一次判斷{if (str[i] == ch)									//二次判斷return i;}return -1;
}

順序查找雖然簡單,但是缺點也比較明顯,就是效率比較低,兩次判斷,接下來對齊進行優化,讓它變成一次判斷:

二、順序表查找優化(重點)

關鍵思想就是:設置哨兵

首或尾元素作為哨兵,判斷到它了可以直接退出,不用外面的for循環一次次判斷

//順序表查找優化(數據量大的時候有奇效)(只需要判斷一次,比先前效率快一倍)
int ListSearch_Optimize(char ch)
{int i = -1;str[strlen(str)] = ch;		//設置哨兵while (str[++i] != ch);		//不為哨兵,則繼續循環(只需要判斷一次,比先前效率快一倍)return i;
}

總代碼

//順序表查找及優化
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<string>char str[20];//輸入
char Input()
{char ch = ' ';printf("請輸入一串數組:\n");for (int i = 0; i < 20 && ch != '\n'; i++){scanf("%c", &ch);str[i] = ch;}printf("請輸入您想要查找的字符:");scanf("%c", &ch);return ch;
}//順序表查找(需要判斷兩次,效率較低)
int ListSearch(char ch)
{for (int i = 0; i < strlen(str); i++)					//一次判斷{if (str[i] == ch)									//二次判斷return i;}return -1;
}//順序表查找優化(數據量大的時候有奇效)(只需要判斷一次,比先前效率快一倍)
int ListSearch_Optimize(char ch)
{int i = -1;str[strlen(str)] = ch;		//設置哨兵while (str[++i] != ch);		//不為哨兵,則繼續循環(只需要判斷一次,比先前效率快一倍)return i;
}int main()
{char ch;ch = Input();				//輸入printf("順序表查找結果:    %d\n", ListSearch(ch));			//順序表查找printf("順序表優化查找結果:%d\n", ListSearch_Optimize(ch));	//順序表查找優化return 0;
}

參考資料

https://blog.csdn.net/qq_44725331/article/details/115411296?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522162876655416780262576379%2522%252C%2522scm%2522%253A%252220140713.130102334..%2522%257D&request_id=162876655416780262576379&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~top_click~default-2-115411296.first_rank_v2_pc_rank_v29&utm_term=%E6%8A%98%E5%8D%8A%E6%9F%A5%E6%89%BE&spm=1018.2226.3001.4187

總結

以上是生活随笔為你收集整理的数据结构与算法(8-1)顺序表查找及优化的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。